У меня есть сущность, созданная с основной таблицей и двумя связанными таблицами.Я присоединился к первичным-вторичным таблицам, используя аннотации гибернации.Вот код.
@Entity
@Table(name = "Table1")
@org.hibernate.annotations.Entity(dynamicUpdate=true)
@org.hibernate.annotations.Tables ( {
@org.hibernate.annotations.Table(appliesTo = "Table2", optional = false ),
@org.hibernate.annotations.Table(appliesTo = "Table3", optional = false )
})
//@org.hibernate.annotations.Table(appliesTo = "Table2", optional = false )
@PrimaryKeyJoinColumn(name="t1_column1")
@SecondaryTables({
@SecondaryTable(name = "Table2", pkJoinColumns = {@PrimaryKeyJoinColumn(name = "t2_col1", referencedColumnName = "t1_col1")} ),
@SecondaryTable(name = "Table3", pkJoinColumns = {@PrimaryKeyJoinColumn(name = "t3_col1", referencedColumnName = "t1_col1")})
})
Это отлично работает.Я хочу указать аннотацию Where, которая будет применяться к вторичной таблице Table2.По умолчанию спящая аннотация «@Where» применяется только к целевой таблице, которая здесь называется «Table1».В результате я получаю ошибку SQL, что столбец, включенный в предложение where, не найден в Table1.
Есть ли какая-то специальная директива, которую мне нужно добавить в @Where, чтобы hibernate добавил предложение SQL where во вторичную таблицу Table2?