使用hibernate选择

我在Hibernate的Internet上看到了一些transaction.commit()用于select语句的示例。下面是示例代码。

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语句开始并提交事务?

回答:

一切都在交易范围内发生。有时,软件会自动为您管理交易,而hibernate则不会。无论是只读还是否,在hibernate状态下都必须打开和关闭事务。

以上是 使用hibernate选择 的全部内容, 来源链接: utcz.com/qa/402742.html

回到顶部