问题:TOSS之HIBERNATE应用——多表连接

已经在TOSS项目上,维护了1年了,还是有很多疑惑。

揣测不出,这个项目为什么要用SSH。
在我看来,对这项目SSH只是个很空的框架。系统对HIBERNATE和SPRING都没有什么深层应用,估计该项目这个大部分的编码人员和我一样,对这两个框架认识不深。

问题最多出现在,复杂SQL的查询。
系统用的是HIBERNATE自带的分页。参见:/toss/WEB-INF/src/com/bytime
/toss/framework/persistence/hibernate/HibernatePersistenceManager.java
这样的共通调用,为保证查询记录数(页面:总条数)正确,必须要用一条SQL查出结果集。这个集,必须保证记录条数和查询总条数一致,至于查询内容,可以通过循环查询加入LIST。应用和理的时候,这种查询方式,并不会影响性能。
但问题出在,必须一条SQL,遇到逻辑复杂的查询,很麻烦。有时候,需要用多表连接。

一般使用:a.name=b.name(+),这样的形式基本可以表示左连接。
我注意到,这时使用distinct,结果不能保证distinct后面的值唯一。

对HQL的left join不熟悉,这里的fetch该怎么抓取?

大概记录这些,有时间需要看一看。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值