使用Hibernate从数据库中获取记录时出现问题

时间:2015-11-19 07:29:01

标签: java hibernate spring-mvc

下面显示的方法不是使用条件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();
    }

2 个答案:

答案 0 :(得分:1)

方法getAllServices必须在交易中。请检查一下。

<强>更新

您必须打开交易,执行请求并关闭交易。它当然可以由Spring完成。 见exampleUserManagerImpl对方法有@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();
 }