选择使用休眠 [英] Select using hibernate
本文介绍了选择使用休眠的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在select语句中,我使用 transaction.commit()
在互联网上看到了一些Hibernate的例子。以下是示例代码。
I saw few examples over internet of Hibernate using transaction.commit()
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();
transaction.commit();
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.
这篇关于选择使用休眠的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文