本文介绍了选择使用休眠的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在select语句中,我使用 transactionmit()在互联网上看到了一些Hibernate的例子。以下是示例代码。
I saw few examples over internet of Hibernate using transactionmit() for select statements. Below is the example code.
public static List<?> list(Class<?> className,int start,int limit,SearchFilter[] searchFilter){ Session session = HibernateUtil.getSessionFactory().openSession(); Transaction transaction = null; try { transaction = session.beginTransaction(); Criteria criteria = session.createCriteria(className); criteria.setFirstResult(start); criteria.setMaxResults(limit); for(SearchFilter sf : searchFilter){ String[] values = sf.getValue(); if(values != null){ if(values.length == 1) { criteria.add(Restrictions.eq(sf.getField(), values[0])); }else{ criteria.add(Restrictions.in(sf.getField(), values)); } } } List<?> Objects = criteria.list(); transactionmit(); return Objects; }catch (Exception e) { transaction.rollback(); e.printStackTrace(); }finally{ session.close(); } return null; }为什么我们要为select语句开始并提交事务?
Why do we do beginning and committing a transaction for select statement?
推荐答案一切都发生在一个交易的范围。有时软件会自动为你管理一笔交易,但休眠不会。无论是否只读,休眠时,您必须打开并关闭交易。
everything happens within the scope of a transaction. sometimes software automatically manages a transaction for you, but hibernate does not. whether read-only or not, in hibernate you must open and close transactions.
更多推荐
选择使用休眠
发布评论