1

私はstackoverflowとJPAの両方に慣れていないので、これをできる限り説明しようとします。

エンティティでは、int 値を指定して外部キーを設定したいだけでなく、オブジェクトを指定して設定したいと考えています。これをよりよく説明するためのコードを次に示します。

@Entity  
public class Thread implements Serializable {

  @ManyToOne  
  @JoinColumn(name = "accountId", referencedColumnName = "id", nullable = false)
  public Account getAccount() {
      return account;
  }

  @Column(name = "accountId")  
  @Basic
  public int getAccountId() {
      return accountId;
  }  
}

いくつかの方法を試しましたが、上記のコードは私が達成しようとしているものの最良の例です。2 つの方法のいずれかで、insert = false および update = false に設定すると、このコードがコンパイルおよび実行できるようになることを理解しています。しかし、Account オブジェクトを使用し、実際の int accountId を設定して、accountId を挿入できるようにしたいと考えています。

この理由は、私のサーバーでは、accountId しか持っていないこともあれば、Account オブジェクトを持っていることもあるためです。

また、スレッドを作成して accountId を設定するときに account.getId() を使用するのがおそらく最善の解決策であることも理解しています。しかし、私のサーバーでは、オブジェクトをそのまま使用できるのは論理的には良いことです。

前もって感謝します!

4

1 に答える 1