Hibernate一对多映射选择查询

时间:2018-05-23 05:29:10

标签: hibernate jpa hibernate-mapping hibernate-criteria

假设我有一个具有一对多关系的学生和电话实体以及单独的关系表

 @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%'

最终输出将是列表&lt;学生&GT;

1 个答案:

答案 0 :(得分:0)

我没有得到您正在寻找的学生标准,但加入您的表的hql查询可以这样写:

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

然后你可以在

之类的地方添加你想要的任何东西
... spn.name like 't%'