最近项目中遇到了关联表,用到了hibernate去封装,主要的是用hibernate
查询的比较多,不想用sql语句,想用hql语句,要用sql语句的话,就要写一大堆....
所以现在征求大家的意见如何去写这样的 hql 语句。
还有hibernate查询返回list后,怎么样根据这个list去得到关联表的记录呢???
解决方案 »
- 正则表达式获取网页中链接和内容
- myeclipse debug问题
- jframe透明但是背景图片和上面的jpanel不透明,怎么做的?
- 关于xfire的webservice的客户端
- "空指针错误 java.lang.NullPointerException "
- JSP页面刷新问题?急!!!!
- jboss+myeclipse部署问题 菜鸟求教 在线急等
- 求:jspSmartUpload.jar 或者 jspSmartUpload.zip
- 对于接口可不可以这样实现?大概思路,这样有没有使用价值
- 求jsp与ejb通信的例子
- 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能给你形成类让你使用
你就使用类不就好了嘛
你要是再说字段的问题
我就不再跟你说这种技术的问题了你要转变思想
学习使用类的方式来解决问题最多的情况下
多添加几个类就好了