下面显示的方法不是使用条件strProductId从db获取数据。我在方法中获得了strProductId的值。任何人都可以请帮助..提前感谢....
public List<ProductServices> getAllServices(String strProductId){
Session session = sessionFactory.getCurrentSession();
Criteria cr = session.createCriteria(ProductServices.class);
cr.add(Restrictions.eq("productId", strProductId));
return (List<ProductServices>) cr.list();
}
答案 0 :(得分:1)
方法getAllServices
必须在交易中。请检查一下。
<强>更新强>
您必须打开交易,执行请求并关闭交易。它当然可以由Spring完成。
见example。 UserManagerImpl
对方法有@Transactional
注释。
答案 1 :(得分:0)
你可以做这样的事情
Session session = factory.openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
Criteria cr = session.createCriteria(ProductServices.class);
cr.add(Restrictions.eq("productId", strProductId));
return (List<ProductServices>) cr.list();
tx.commit();
}
catch (Exception e) {
if (tx!=null) tx.rollback();
e.printStackTrace();
}finally {
session.close();
}