【问题标题】:Hibernate one to many mapping select query休眠一对多映射选择查询
【发布时间】:2018-05-23 05:29:09
【问题描述】:

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

 @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 {
 } 

我需要使用inv hql 或projection 编写一个内部连接查询来获取学生列表以及每个学生的电话号码列表...这怎么可能...。

查询将类似于

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

最终输出将是列表

【问题讨论】:

    标签: hibernate jpa hibernate-mapping hibernate-criteria


    【解决方案1】:

    我不知道你正在寻找什么学生的标准,但是加入你的表的 hql 查询可以这样写:

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

    然后你可以在其中添加任何你想要的东西

    ... spn.name like 't%'
    

    【讨论】:

      猜你喜欢
      • 2013-06-02
      • 1970-01-01
      • 1970-01-01
      • 2011-04-07
      • 1970-01-01
      • 2019-02-19
      • 1970-01-01
      • 2021-11-11
      相关资源
      最近更新 更多