用户登录
用户注册

分享至

hibernate查询关联

  • 作者: 我就想取个名字
  • 来源: 51数据库
  • 2020-09-23

hibernate的关联查询实现方法,比如有存在关联的表A和表B字段分别如下:

A:id,aName,aDesc

B:id,aId,bName,bDesc

希望查询的结果是:A.id,B.id,A.aName,B.bName,B.bDesc

1.按照如下步骤操作:

①创建A和B的hibernate映射,相互不用关联,对应持久化类为APojo和BPojo

②创建结果集的载体CPojo,CPojo只是简单的一个JavaBean不是持久化类,它的属性与查询结果相对应:


public class CPojo {  

    public long aId;  

    public long bId;  

    public String aName;  

    public String bName;  

    public String bDesc;  


    public CPojo(long aId, long bId, String aName, String bName, String bDesc) {  

        this.aId = aId;  

        this.bId = bId;  

        this.aName = aName;  

        this.bName = bName;  

        this.bDesc = bDesc;  

    }  

}2.HQL关联查询语句写法:

Select new com.XXX.CPojo(a.id,b.id,a.aName,b.bName,b.bDesc) from A a,B b where a.id = b.aId优点:不需要建立复杂的持久化类,也不需要建立视图。结果集可以自由定制。


软件
前端设计
程序设计
Java相关