我有一个数据表,其中包含我所有的对象,制造商“制造商”列表和两个按钮:更新和删除。休眠错误,当我尝试删除
public class FabricantService {
private FabricantHome dao ;
Session sesion ;
List<Fabricant> list;
public FabricantService() {
super();
dao = new FabricantHome();
}
public void ajouter(Fabricant cart) {
sesion=HibernateUtil.getSessionFactory().getCurrentSession();
sesion.beginTransaction();
dao.persist(cart);
sesion.getTransaction().commit();
}
public void update(Fabricant cart) {
sesion=HibernateUtil.getSessionFactory().getCurrentSession();
sesion.beginTransaction();
dao.merge(cart);
sesion.getTransaction().commit();
}
public void deletee (Fabricant cart) {
sesion=HibernateUtil.getSessionFactory().getCurrentSession();
sesion.beginTransaction();
dao.delete(cart);
sesion.getTransaction().commit();
}
public List<Fabricant> list(){
sesion=HibernateUtil.getSessionFactory().getCurrentSession();
sesion.beginTransaction();
list=dao.findAll() ;
return list;
}
}
更新OK它是好的重定向我在页面上更新一个制造商。
,但是当我选择删除此显示了一个这样的错误:
Caused by: javax.faces.el.EvaluationException:
org.hibernate.HibernateException:
Illegal attempt to associate a collection with two open sessions
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
... 23 more
此线程可能会帮助你:http://stackoverflow.com/questions/9367886/session-management-with-java-hibernate – user2256686
thx很多为你的helpe ..它帮助我理解新的东西:) – FERESSS