hibernate 关联表查询征求意见??? 最近项目中遇到了关联表,用到了hibernate去封装,主要的是用hibernate 查询的比较多,不想用sql语句,想用hql语句,要用sql语句的话,就要写一大堆.... 所以现在征求大家的意见如何去写这样的 hql 语句。 还有hibernate查询返回list后,怎么样根据这个list去得到关联表的记录呢??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1. HQL语句可以用JOIN 也可以通过构造器的方式查询你想查询的东西(可看Hibernate3.2帮助文档的14.3 14.4 14.5 章节)2. 迭代出来 用hibernate criterion 吧,更理想,更OO的封装 我想问一下像这样的sql 查询语句,如何用hql优化? select c.name,c.code,s.name,s.tag,sc.bigsuit,sc.ss from commitly c,suppliery s ,supplier_commitly sc where and sc.supplierId = s.id and sc.commitlyId = c.id and c.code = 'xx' or c.name = 'xx' 其中:supplier_commitly表 对应的是SupplierCommitly类, suppliery 表 对应的是Suppliery 类, commitly 表 对应的是Commitly 类。 SupplierCommitly 类与 Suppliery类, Commitly 类,均是<many-to-one>的关系。 请问如何用 hql 语句优化?? sql 语句多了个and 纠正: select c.name,c.code,s.name,s.tag,sc.bigsuit,sc.ss from commitly c,suppliery s ,supplier_commitly sc where and sc.supplierId = s.id and sc.commitlyId = c.id and c.code = 'xx' or c.name = 'xx' 把and 去掉。。 但不知道 HQL 是否有 case when 语句呢?是动态查询 你在映射之后的XXXX.hbm.xml中添加一对多或者一对一那样的约束并且处理相关的映射好的类自然就可以关联查询了 这个我知道啊,但我想查询我想要的字段,hibernate返回的是list啊。hql语句该怎么优化呢?? 你还是没用过关联的你关联好了之后可以在Student类里添加一个Teacher类(比如说一对多的关系)Teacher类里肯定有相关的字段,比如姓名你不要想着字段既然Hibernate能给你形成类让你使用你就使用类不就好了嘛你要是再说字段的问题我就不再跟你说这种技术的问题了你要转变思想学习使用类的方式来解决问题最多的情况下多添加几个类就好了 getBytes方法效率问题 关于cvs使用的一点问题 谁能给我讲清楚这段代码!200分犒劳大家 请问 import 进来的project 如何和svn 上的关联? 想能过程序来启动tomcat,可是不行啊~~ 请教: 关于struts中引用jstl中定义的变量所产生的问题 请问什么是B/S结构 初学JAVA,要将用XSL文件控制的XML文件以HTML格式输出,这个JAVA程序我怎么写。 请教jre目录的选择问题 Tomcat问题 hibernate和数据库断开连接问题 如何在网页上实现这种功能,是不是有什么plugin .
2. 迭代出来
我想问一下像这样的sql 查询语句,如何用hql优化?
select c.name,c.code,s.name,s.tag,sc.bigsuit,sc.ss
from commitly c,suppliery s ,supplier_commitly sc where
and sc.supplierId = s.id and sc.commitlyId = c.id and
c.code = 'xx' or c.name = 'xx' 其中:supplier_commitly表 对应的是SupplierCommitly类,
suppliery 表 对应的是Suppliery 类,
commitly 表 对应的是Commitly 类。
SupplierCommitly 类与 Suppliery类, Commitly 类,均是<many-to-one>的关系。
请问如何用 hql 语句优化??
sql 语句多了个and
纠正:
select c.name,c.code,s.name,s.tag,sc.bigsuit,sc.ss
from commitly c,suppliery s ,supplier_commitly sc where
and sc.supplierId = s.id and sc.commitlyId = c.id and
c.code = 'xx' or c.name = 'xx'
把and 去掉。。
是动态查询
并且处理相关的映射好的类
自然就可以关联查询了
这个我知道啊,但我想查询我想要的字段,hibernate返回的是list啊。
hql语句该怎么优化呢??
你关联好了之后
可以在Student类里添加一个Teacher类(比如说一对多的关系)
Teacher类里肯定有相关的字段,比如姓名你不要想着字段
既然Hibernate能给你形成类让你使用
你就使用类不就好了嘛
你要是再说字段的问题
我就不再跟你说这种技术的问题了你要转变思想
学习使用类的方式来解决问题最多的情况下
多添加几个类就好了