有一个Spring DAO方法
public List<T> findByQuery(String query, Object[] values, int indexStart, int page) throws DefaultException{
try{
final Query query_ = this.em.createQuery(query).setFirstResult(indexStart);
....
return query_.getResultList();
}catch(Exception e){
throw new DefaultException(e.getMessage(), e);
}
}
删除Transactional注释,在语句关闭后保持连接打开
所以我的问题是:简单的选择查询是否需要交易?
在此exemple中,为简单的选择查询创建了一个事务