Wie speichere ich eine Entität mit Fremdschlüssel, ohne die zugehörige Entität in JPA zu laden?

Ich habe zwei Entitäten:

Account {
  @Id
  Long id;
}

Preference {
  ...
  @ManyToOne
  private Account account;
}

Beim Speichern einer Voreinstellung habe ich die accountId, aber keine Account-Entität. Wie soll ich die Präferenz in dieser Situation speichern?

Laden Sie die Entität "Account" und stellen Sie sie auf die gewünschte Einstellung ein. Für mich scheint das eine fehlerhafte Reise in die Datenbank zu sein.

Haben Sie ein Feld accountId, das persistent ist, und machen Sie das Feld account schreibgeschützt? Ein accountId-Feld und ein Account-Feld scheinen überflüssig zu sein?

Verwenden Sie eine NamedQuery, um die Einstellung beizubehalten? Ich hatte gehofft, nur eine Entität ohne spezielle Logik für generisch zu retten.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage