Я знаю, что @SecondaryTable
выпуски публиковались много раз, поэтому, если есть такой (я еще не нашел), пожалуйста, дайте мне ссылку или совет.
В моей базе данных есть две таблицы (firstTable
и secondTable
), два класса POJO Hibernate (FirstTablePojo
и SecondTablePojo
).
+----------+ +-----------+
|firstTable| |secondTable|
|----------+ |-----------+
|featureId |------------>|featureId |(secondTable's primary key)
|foo | |featureName|
|bar | +-----------+
+----------+
Я хочу показать поля из обеих этих таблиц в jsp из объекта единого списка, я решил использовать @SecondaryTable
.Эти две таблицы связаны полем featureId
(который является первичным ключом для secondTable
), я хочу, чтобы featureName
из secondTable
отображался вместе с полями из firstTable
.FirstTablePojo
предшествует эта аннотация:
@SecondaryTable(name="secondTable",
pkJoinColumns=@PrimaryKeyJoinColumn(name="featureId",
referencedColumnName = "featureId"))
Я добавил это свойство в FirstTablePojo
(с геттерами и сеттерами):
@ManyToOne
@JoinColumn(name="featureId", table="secondTable")
String featureName;
Когда с помощью <c:forEach items="${features}" var="feature">
, я получаю каждый ${feature.foo}
(foo
- это свойство, которое было в FirstTablePojo
, прежде чем я использовал @SecondaryTable
) и ${feature.featureName}
, я вижу каждый foo
, но ни один из featureNames
не появляется,Было бы замечательно, если бы кто-то мог сказать мне, что мне здесь не хватает и почему имена объектов из другой таблицы не отображаются в списке FirstTablePojo
объектов.