浏览 4602 次
锁定老帖子 主题:关于启动事务的问题
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2003-10-13
public List listAllBlogNamesAndItemCounts(int max) throws HibernateException { Session session = _sessions.openSession(); Transaction tx = null; List result = null; try { tx = session.beginTransaction(); Query q = session.createQuery( "select blog.id, blog.name, count(blogItem) " + "from Blog as blog " + "left outer join blog.items as blogItem " + "group by blog.name, blog.id " + "order by max(blogItem.datetime)" ); q.setMaxResults(max); result = q.list(); tx.commit(); } catch (HibernateException he) { if (tx!=null) tx.rollback(); throw he; } finally { session.close(); } return result; } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2003-10-13
看论坛提问的智慧第二条
|
|
返回顶楼 | |
发表时间:2003-10-13
我还是不明白,这只是一个查询函数啊,需要事物吗?
|
|
返回顶楼 | |
发表时间:2003-10-13
答案是不需要!
其实我希望你去精华区看看我的Transaction的帖子,就可以搞清楚Transaction的原理了,这比解决这一个问题收获大得多。 |
|
返回顶楼 | |
发表时间:2003-10-13
以前和robbin讨论过,在这种情况下事务不是必需的,但hibernate的作者觉得加上事务可能更好,故hibernate的例子中都是有事务的。我倾向于不加,除非你对数据的准确性要求很高。
|
|
返回顶楼 | |