私のアプリケーションでは、永続性プロバイダとしてJPA 2.0とHibernateを使用しています。私は(@JoinColumn
を使用し、@JoinTable
ではなく)2つのエンティティ間に1対多数の関係を持っています。 JPAアノテーションでinverse=true
(hbm.xml
に指定されているように)を指定してリレーションシップ所有者を取り消す方法を知りたかったのです。JPAアノテーションのinverse = true
ありがとうございます。
私のアプリケーションでは、永続性プロバイダとしてJPA 2.0とHibernateを使用しています。私は(@JoinColumn
を使用し、@JoinTable
ではなく)2つのエンティティ間に1対多数の関係を持っています。 JPAアノテーションでinverse=true
(hbm.xml
に指定されているように)を指定してリレーションシップ所有者を取り消す方法を知りたかったのです。JPAアノテーションのinverse = true
ありがとうございます。
私はこれに対する答えを見つけました。 @OneToManyアノテーションのmappedBy属性は、xmlファイルのinverse = trueと同じように動作します。
また、この質問にはさらに詳しい情報があります:http://stackoverflow.com/questions/11938253/jpa-joincolumn-vs-mappedby – SoWeLie
属性mappedBy
は、この側のエンティティがリレーションシップの逆であり、所有者が他のエンティティに存在することを示します。他のエンティティは@JoinColumn
annotaionと@ManyToOne
という関係になります。したがって、私はinverse = trueが@ManyToOne
注釈と同じだと思います。
また、inverse = "true"は、これが関係を処理する関係所有者であることを意味します。
正確に何をしたいですか? – axtavt
あなたが知っているように、逆制御は、関係のエンティティが外部キーを更新します。 http://stackoverflow.com/questions/4439756/hibernate-inverse-in-mapping-file。私の1対多の関係では、これを指定したいと思います。 –