Java Hibernate如何做多个条件多个表关系的查询?
例如:List<Object[]>usrx=(List<Object[]>)hs.createQuery("selectusrId,usrNamefromSysUser"...
例如: List<Object[]> usrx = (List<Object[]>)hs.createQuery("select usrId,usrName from SysUser").list();
假如是多个条件(where..and..and..or), 或者多个表关联的查询, 应该怎么写HQL? 或者有没有其他的方式呢? 谢谢! 展开
假如是多个条件(where..and..and..or), 或者多个表关联的查询, 应该怎么写HQL? 或者有没有其他的方式呢? 谢谢! 展开
1个回答
展开全部
多条件没什么,关键是多表。主要是解决多个对象的属性封装成一个对象,可以使用如下方式:
select new com.demo.SysUser(u.name, p.password) from User u, Pwd p
确保SysUser有这个构造函数,确保类型一致,就OK了
select new com.demo.SysUser(u.name, p.password) from User u, Pwd p
确保SysUser有这个构造函数,确保类型一致,就OK了
追问
多表关联应该怎么写呢? 比如同时含有1对多, 多对多的关系, 按照关联查询就是要1个1个表关联才能获取那个值, hibernet怎么做呢?
追答
“一对多, 多对多的关系”,那种方式是通过属性获取,也就是相应的get方法。
而hql可以说是不怎么依赖这种关联的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询