2011-02-01 10 views
22

私のアプリケーションでは、永続性プロバイダとしてJPA 2.0とHibernateを使用しています。私は(@JoinColumnを使用し、@JoinTableではなく)2つのエンティティ間に1対多数の関係を持っています。 JPAアノテーションでinverse=truehbm.xmlに指定されているように)を指定してリレーションシップ所有者を取り消す方法を知りたかったのです。JPAアノテーションのinverse = true

ありがとうございます。

+0

正確に何をしたいですか? – axtavt

+0

あなたが知っているように、逆制御は、関係のエンティティが外部キーを更新します。 http://stackoverflow.com/questions/4439756/hibernate-inverse-in-mapping-file。私の1対多の関係では、これを指定したいと思います。 –

答えて

38

私はこれに対する答えを見つけました。 @OneToManyアノテーションのmappedBy属性は、xmlファイルのinverse = trueと同じように動作します。

+1

また、この質問にはさらに詳しい情報があります:http://stackoverflow.com/questions/11938253/jpa-joincolumn-vs-mappedby – SoWeLie

2

属性mappedByは、この側のエンティティがリレーションシップの逆であり、所有者が他のエンティティに存在することを示します。他のエンティティは@JoinColumn annotaionと@ManyToOneという関係になります。したがって、私はinverse = trueが@ManyToOne注釈と同じだと思います。

また、inverse = "true"は、これが関係を処理する関係所有者であることを意味します。

関連する問題