多表联合查询

本文介绍了一种在多表查询场景下通过Spring实体注入构建复杂实体类的方法。该方法适用于需要从多个表中获取数据并整合成一个实体类的情况,特别是当查询结果中存在多个相同字段名时。通过实例演示了如何使用Hibernate查询语言(HQL)进行联表查询,并通过getter/setter方法将查询结果注入到主要实体类中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果涉及到多张表多字段查询,并且想利用查询出来的字段在界面层构建一个新的实体类,可以使用这种方法;

如果查询出来的多字段中,有多个字段的名字都相同(如想查询出A表的id,B表的id,C表的id),可以使用这种方法;

秘籍:使用Spring实体注入的方式来做就可以了!

比如A表和B表和C表构成一个完整的事件信息,其中C表包含A,B表的关联id(分别为A,B表的主键)。

那么你就可以使用C表作为主要实体,将A,B表的实体注入到C表实体中(我是用的注入方式是getter/setter方法)

然后你可一使用hql查询出C表实体:select c from C c,B b, A a where c.aid=a.id and c.bid=b.id;(...)

查询出来后使用List<C>来获取集合:

List<C> llist=.....;

遍历clist..

for( C cl:clist){

 cl.getA().A表实体的各个字段;

 cl.getB().B表实体的各个字段;

你都可以获取出来,哈哈,终于成功了!!!

}

 

 

引自博客:

http://blog.youkuaiyun.com/jpr1990/article/details/6915533

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值