如果涉及到多张表多字段查询,并且想利用查询出来的字段在界面层构建一个新的实体类,可以使用这种方法;
如果查询出来的多字段中,有多个字段的名字都相同(如想查询出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
本文介绍了一种在多表查询场景下通过Spring实体注入构建复杂实体类的方法。该方法适用于需要从多个表中获取数据并整合成一个实体类的情况,特别是当查询结果中存在多个相同字段名时。通过实例演示了如何使用Hibernate查询语言(HQL)进行联表查询,并通过getter/setter方法将查询结果注入到主要实体类中。
265

被折叠的 条评论
为什么被折叠?



