我知道,@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