HQL多表查询问题

问题描述

有三个表user,activity,user_activityuser_activity,里面有userid,activityid,user里面有userid,useremailactivity里面activityid,activityname每个表都有对应的bean,及对应的与数据库表关联配置文件(本人菜鸟专业术语不会)现在我需要在页面显示userid,useremail,activityname,activityid请问怎么查出数据放进listhql语句该怎么写?

解决方案

解决方案二:
不能用innerjoin
解决方案三:
selectu.userid,u.useremail,a.activityname,ua.activityidfromuseru,activitya,user_activityuawhereu.userid=ua.u.useridanda.activityid=ua.activityid
解决方案四:
selectu.userid,u.useremail,a.activityname,ua.activityidfromuseru,activitya,user_activityuawhereu.userid=ua.useridanda.activityid=ua.activityid
解决方案五:
你可以新建一个javaBean用于存储查询出来的列数据,而后添加到list中.如下:新建一个javabeanUserInfo里面有userid,useremail,activityname,activityid对应的属性.添加一个构造方法里面的参数是所有属性类型.而后在查询时如下selectnew包名.UserInfo(u.userid,u.useremail,a.activityname,ua.activityid)fromuseru,activitya,user_activityuawhereu.userid=ua.useridanda.activityid=ua.activityid最后就会得到一个装有UserInfo对象的集合.
解决方案六:
db所映射的对象之间设置好关联关系就行了...你要停留在sql连接查询阶段的想法的话,就不要使用hibernate,ibatis比较适合你
解决方案七:
selectus.userId,us.useremail,a.activityname,a.activityidfromuser_activityua,userus,activityawhereua.userId=us.userIdanda.activityid=ua.activityid
解决方案八:
session.createQurey("select*frombeanClassName1,beanClassName2wherex=y").list()

时间: 2024-10-29 11:22:21

HQL多表查询问题的相关文章

HQL连表查询,谁会啊?

问题描述 HQL连表查询,谁会啊?假如我有三张表userworkersalaryuser和worker有关联worker和salary有关联我可以直接用user中的某字段为条件查询salary表中的数据的么!salary表中没有user的字段 解决方案 解决方案二:可以的,3个表有关联的字段就可以了然后你就类似Stringhql="selectqfromQuestionqwhereq.qidin(selecta.question.qidfromAnswerawherea.userid='&quo

javaEE hql多表查询求大师指导

问题描述 现在想在Dao层写个查询方法可以使两张表内连,并且要他们的id相同并且Date和HoliDate要相同..请问该方法怎么写..我用的是List<Attendence>attendenceList=this.getHibernateTemplate().find("fromAttendenceainnerjoinAbsencebona.date=b.HoliDate");方法不知道对不对!各位大师请指点 解决方案 解决方案二:fromAt1,Bt2wheret1.i

hibernate HQL new xxx() 查询 join连接多个表,并把连接后的表保存到一个新类中

hibernate HQL  new xxx() 查询 join连接多个表,并把连接后的表保存到一个新类中 另外  保存一些字段可以这样 select new com.zrj.entity.BankSelect(bankNum,bankName)from BankInfo as bank where 1=1

小谈Hibernate中的HQL与QBC查询

最早接触Hibernate是在2004年,当时怀着忐忑和不安的心情来学习这门技术.经过这几年的使用和研 究,也积累了一定的经验,下面就HQL和QBC查询来谈一下我从工作中得到的一些总结. 本文不会讲什么是Hibernate.什么是ORM.更不会谈怎样使用HQL与QBC.本文的目的是让大家对平常 使用最多,也是最广泛的与数据库打交道的两种方式,有一个新的认识. 恩,如果你还不知道Hibernate,大象建议你先去学一下再来看本文,如果你已经是这方面的高手,大 可以关掉浏览器,千万不要因为本人的愚见

Nhibernate多表查询解决办法

概述: 在项目中应用NHibernate架构时,会经常遇到多表查询.因为项目上要用到,通过多天的查询总结了以下 两种解决方案. 解决方案: (1)使用HQL语句,然后把查询出的结果存入临时表中,然后再进行绑定. (2)使用select new OaxtJoinGlxt这种语法,根据查询的内容自己构建相应的实体类. 第一种方案实现具体过程: 我的需求如下: 我需要查询JkptOaxtOrganization实体类中的Orgid,及JkptGlxtOrganization实体类中的Orgname我需

springside 多表查询,急,

问题描述 public class VideoManager extends HibernateDao<Video,Serializable>{类是用泛型,但我想查出video和user两个实体里的东西,hql="select * from User u,Video v where u.id=? and v.id=?";查询不到,报的错误unexpected token: * near line 1, column 8 [select * from com.vision.m

Hibernate多表查询

问题描述 public PageModel getPage(int currentPage, int pageSize) { String hql = "from Orders,Users,Orderstate where Orders.clientid = Users.userid and Orders.progress = Orderstate.stateid"; String count = "select count(*) from Orders"; Pag

hibernate 多表查询 子查询

问题描述 hibernate 多表查询 子查询 hql="from Orderitem oi where oi.order.ordersid in (select o.ordersid from Order o where o.orderstatus in (:orderstatus) and o.users.userid in (:uid)"; 其中Order Orderitem,Users 都是表,我知道这样写不对,但是不知道该怎样写 其中Order 与Orderitem和User

nhibernate-Nhibernate多表查询,不用遍历填充每一个值

问题描述 Nhibernate多表查询,不用遍历填充每一个值 有一个person类,里面有个status字段,保存的是人员状态.类型为int 还有一个baseinfo类,里面有name字段,用来保存status的中文如:在职/离职,还有一个value字段,与person类里面的status字段相对应,类型为int 这样做的目的是能够把一些基础数据进行维护. 我的问题是:用nhibernate查询后,如果返回person的List,如何将baseinfo中name字段的值,附加到List中每一个p