У меня есть следующие таблицы:
[таблица: столбец1, столбец2]
A: идентификатор, имя
B: идентификатор, имя
AB: idA, idB
AB является таблицей соединений.
Тогда у меня есть этот метод в спящем классе B
@OneToMany( fetch = FetchType.EAGER)
@JoinTable( name = "AB",
joinColumns = @JoinColumn( name = "idB"),
inverseJoinColumns = @JoinColumn( name = "idA") )
public List<A> getAs(){
//return the list of matching stuff
}
Это прекрасно работает.
Теперь я хочу сделать этот SQL-запрос в спящем режиме:
select * from B inner join AB on B.id = AB.idB where AB.idA = 1234
По сути, «перечислите мне все B, которые ссылаются на A с идентификатором 1234»
Я мог бы сделать прямой SQL, нобудет побеждать цель getAs ()
Можно ли построить условие Criterion / Restriction для достижения этого?