我知道,@SecondaryTable
問題發表了很多次,所以,如果有相同的(我還沒有找到它),請給我鏈接或建議。休眠:@SecondaryTable不起作用
我在我的數據庫(firstTable
和secondTable
)兩個表中,兩個POJO Hibernate類(FirstTablePojo
和SecondTablePojo
)。
+----------+ +-----------+
|firstTable| |secondTable|
|----------+ |-----------+
|featureId |------------>|featureId |(secondTable's primary key)
|foo | |featureName|
|bar | +-----------+
+----------+
我想表明從從單一的列表對象的JSP這兩個表中的字段,我決定使用@SecondaryTable
。這兩個表通過featureId
字段連接(這是secondTable
的主鍵),我想要secondTable
中的featureName
與來自firstTable
的字段一起顯示。該FirstTablePojo
由該註釋之前:
@SecondaryTable(name="secondTable",
[email protected](name="featureId",
referencedColumnName = "featureId"))
我加入這個屬性來FirstTablePojo
(與getter和setter):
@ManyToOne
@JoinColumn(name="featureId", table="secondTable")
String featureName;
當的<c:forEach items="${features}" var="feature">
幫助,我得到各個${feature.foo}
(foo
是在我使用@SecondaryTable
)和${feature.featureName}
之前在FirstTablePojo
中的房產,我看到每個foo
,但是沒有出現featureNames
。如果有人能告訴我我在這裏錯過了什麼以及爲什麼來自另一張桌子的功能名不出現在FirstTablePojo
對象列表中,那將會很棒。
你如何解決你的問題?我處於相同的情況...... – davioooh 2012-05-03 09:16:14
'featureId'是主表中的主鍵?或「secondTable」的外鍵? – davioooh 2012-05-03 09:31:45
@davioooh哦,同時我發佈了這個問題http://stackoverflow.com/questions/9627102/selecting-from-two-tables-in-hibernate,所以他們可能是大約相同的表。 – 2012-05-03 09:49:00