2011-07-13 16 views
0

Hibernate/JPAがレガシーテーブルの正しいアプローチであるかどうかを調査し始めました。 2つのテーブルを@OneToManyで関連付ける必要があります。負担表table1にidid1 id2、table2にid1、id2、id3があります。関連テーブルはありません。生成されたクエリは、句 "id3 = 0"を追加する必要があります。テーブル1に定数値0の偽のIDを追加する方法はありますか?Hibernate/JPAレガシーテーブルOneToManyへのコンポーネントキーの適用

私は以下の2つのオプションを試しました。彼らの誰も働いていません。

1)

@OneToMany 
@JoinColumns({ 
    @JoinColumn(name = "MVCMP, referencedColumnName = "VICMP"), 
    @JoinColumn(name = "MVVND#", referencedColumnName = "VIVND#"), 
    @JoinColumn(name = seq , referencedColumnName = "VISEQ#") 
}) 
@WhereJoinTable(clause = "VISEQ# = 0") 
private List<VendorInternationalEntity> vendorInternational; 

2)

@OneToMany 
@JoinTable(name="mas_int", joinColumns = @JoinColumn(name = "MVCMP#"), 
    inverseJoinColumns = @JoinColumn(name = "MVVND#")) 
@WhereJoinTable(clause="VISEQ#=0") 
private List<VendorInternationalEntity> vendorInternational; 

任意の洞察力が役立つであろう。 ありがとうございます。

+0

いずれも機能していないと言ったらどういう意味ですか? Hibernateが発行したテーブル定義とクエリを投稿できますか? –

答えて

0

この作品のようなものはありますか?

@OneToMany 
@JoinColumns({ 
    @JoinColumn(name = "MVCMP, referencedColumnName = "VICMP"), 
    @JoinColumn(name = "MVVND#", referencedColumnName = "VIVND#") 
}) 
@Where(clause = "VISEQ#=0") 
private List<VendorInternationalEntity> vendorInternational; 
関連する問題