论坛首页 Java企业应用论坛

=== Effective Hibernate ===!!!

浏览 38571 次
该帖已经被评为精华帖
作者 正文
   发表时间:2005-04-18  
偶发现:
1. 避免使用双向一对多(one-to-many)关系,可以避免过多的表连接,同时避免POJO受到污染;
2. 设计良好domain层,可以进一步挖掘Hibernate的优点并使性能影响降至最小;

第一次发帖,大家多多关照。哈哈~
0 请登录后投票
   发表时间:2005-04-18  
session以request为边界,用spring opensessioninview filter+HibernateTemplate实现(其实就是ThreadLocal+ServletFilter)
transaction以service(不是DAO)为边界(如果一个service method里面需要有两段事务的话,就分成两个service method),用spring aop声明事务实现
另DAO可看实际情况考虑省去,代码迁移到service

你们肯定很少翻hibernate.org
http://www.hibernate.org/168.html
这里提到session和transaction的若干处理方法,介绍他们的优缺点,哪些不能用等等

我个人比较喜欢session-per-request-with-multiple-transactions
就是我上面所说的

另外还有两个application transaction做long Session的,大致就是之前断断续续讨论的detached objects、saveOrUpdate、hibernate version、httpsession保存po等等等等,用spring mvc可以实现,不过似乎这种做法目前接受度不高
0 请登录后投票
   发表时间:2005-04-18  
hjmin 写道
我们的框架就是在业务逻辑层关闭session的,我一定都不太明白,我都觉得应该在DAO关闭session。


不能这样做,如果一业务用到多过DAO,问题就出现了。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics