问彭老师:hibernate中<many-to-one>如何在lazy=true时支持内连接?

07-01-23 chris320
关联关系如下:

<many-to-one name="operator" class="com.szdc.business.model.Operator" column="CREATOR" cascade="none" fetch="join" />

fetch="join"是在后台产生左连接sql; fetch="select"在后台对两个表会分开查询,产生两个sql语句,如何通过配置而不是采用HSQL产生select * from a,b where a.id=b.id的sql呢?

banq
2007-02-01 14:18
你这是基于数据库的思维,错用hibernate,如果实在需要,使用join替代class配置,直接面向数据库配置。

我的观点是ORM: O+M=R, 你可能认为数据库性能怎么办?数据库性能就是有潜力可挖,我个人不会去深入研究,这种向下思维不具备可伸缩性,如果访问量再提高怎么办?自己干脆直接写数据库产品? 而且调优下去,必然不兼容,违反中间件跨数据库精神,程序移植不强。

使用缓存或分布式缓存以及符合OO精神的建模分析,才是真正可伸缩解决方案。

仅供参考

猜你喜欢