我一般会这样写,首先在DAO类里合成一个SessionFactory对象,然后
Session session = sessionFactory.getSession();
Transaction trans = session.beginTransaction();
session.save(object);
trans.commit();
session.close();
你记录没插进去,可能是因为你两次beginTransaction()返回的不是同一个对象!
Session session = sessionFactory.getSession();
Transaction trans = session.beginTransaction();
session.save(object);
trans.commit();
session.close();
你记录没插进去,可能是因为你两次beginTransaction()返回的不是同一个对象!
private SessionFactory factory;
public SessionFactory getFactory() {
return factory;
}
public void setFactory(SessionFactory factory) {
this.factory = factory;
}
public Session getSession() {
Session session = getFactory().openSession();
return session;
}
照你的写法:
Transaction trans =getSession().beginTransaction();
getSession().saveOrUpdate(obj);
getSession().flush();
trans.commit();
还是插不进去,郁闷了
Session session = getFactory().openSession();
return session;
}
照你的写法:
Transaction trans =getSession().beginTransaction();
getSession().saveOrUpdate(obj);
getSession().flush();
trans.commit();
===================================
getSession()每次返回一个新 SESSSION 对象
Transaction trans =session.beginTransaction();
session.saveOrUpdate(obj);
session.flush();
trans.commit();