Hibernate один ко многим отображающий запрос выбора - PullRequest
0 голосов
/ 23 мая 2018

Предположим, у меня есть объект студента и телефона с одним-несколькими отношениями с отдельной таблицей отношений

 @Entity
 @Table(name = "STUDENT")
  public class Student {
  @OneToMany(cascade = CascadeType.ALL)
  @JoinTable(name = "STUDENT_PHONE", joinColumns = { 
  @JoinColumn(name = "STUDENT_ID") }, 
    inverseJoinColumns= { @JoinColumn(name = "PHONE_ID") })
private Set<Phone> studentPhoneNumbers = new 
    HashSet<Phone>(0);
 } 

@Entity
@Table(name = "PHONE")
 public class Phone {
 } 

Мне нужно написать внутренний запрос на соединение, либо usinv hql, либо проекция, чтобы получить список студентовсо списком, если номер телефона для каждого студента ... Как это возможно ....

Запрос будет выглядеть примерно так:

Select * from student, phone, STUDENT_PHONE where name 
 like  't%'

Окончательный результат будет список <Студент>

1 Ответ

0 голосов
/ 28 мая 2018

Я не могу точно определить, какие критерии учащегося вы ищете, но hql-запрос для присоединения к вашей таблице можно записать так:

select s from Student s join s.studentPhoneNumbers spn where ....

Затем вы можете добавить все, что захотите, где угодно

... spn.name like 't%'
...