2011-07-13 30 views
0

我們公司剛開始研究Hibernate/JPA是否適合他們的遺留表。 要求是將@OneToMany與兩個表相關聯。欠表table1有ids id1 id2,table2有id1,id2和id3。沒有關聯表。生成的查詢應該添加子句「id3 = 0」。有沒有辦法在table1中添加假ID,常數爲0.Hibernate/JPA Legacy Table OneToMany加入組件密鑰的問題

我試過以下兩個選項。他們都沒有工作。

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;