提交事务时总报错
请问为何总是报这个错啊,我查了下是一提交事务时就报这个错!
是表关系建立的不对么还是?请大家指教!谢谢!
org.hibernate.TransientObjectException: com.wsd0704.Shopping.biz.entity.User
org.hibernate.engine.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:216)
org.hibernate.type.EntityType.getIdentifier(EntityType.java:108)
org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:221)
org.hibernate.type.TypeFactory.findDirty(TypeFactory.java:476)
org.hibernate.persister.entity.AbstractEntityPersister.findDirty(AbstractEntityPersister.java:2803)
org.hibernate.event.def.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:467)
org.hibernate.event.def.DefaultFlushEntityEventListener.isUpdateNecessary(DefaultFlushEntityEventListener.java:190)
org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:113)
org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:195)
org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:76)
org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:333)
org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
com.wsd0704.Shopping.biz.sevice.UserServiceImpl.generateOrder(UserServiceImpl.java:165)
com.wsd0704.Shopping.web.struts.action.GenerateOrderAction.execute(GenerateOrderAction.java:70)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
程序如下
业务层的方法
public void generateOrder(Order order) throws ServiceException {
// TODO Auto-generated method stub
Session s = null;
Transaction tran = null;
try {
s = HbnUtil.getCurrentSession();
System.out.println("s from service -> "+s);
tran = s.beginTransaction();
ShoppingCartdao.generateOrder(order);
System.out.println("order have generated in sevice");
tran.commit(); } catch (ShoppingDataException e) {
// TODO Auto-generated catch block
e.printStackTrace();
tran.rollback();
throw new ServiceException(e);
}
}
数据层的方法
public void generateOrder(Order order) throws ShoppingDataException {
Session s=HbnUtil.getCurrentSession();
//String hql="select order from Order order";
try {
s.save(order)
System.out.println("order have generated in data");
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
throw new ShoppingDataException(e);
// return false;
}
}
能推断是哪的问题么?