提交事务时总报错

flzhang 2008-03-18 01:31:07
请问为何总是报这个错啊,我查了下是一提交事务时就报这个错!
是表关系建立的不对么还是?请大家指教!谢谢!
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;
}

}
能推断是哪的问题么?
...全文
76 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzkk_1980 2008-03-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 skyhits1921 的回复:]
org.hibernate.TransientObjectException: com.wsd0704.Shopping.biz.entity.User根据这一行的代码我推断应该是你的对象没有主键造成的.你可以试试在这方面查找原因.
[/Quote]
skyhits1921 2008-03-18
  • 打赏
  • 举报
回复
org.hibernate.TransientObjectException: com.wsd0704.Shopping.biz.entity.User根据这一行的代码我推断应该是你的对象没有主键造成的.你可以试试在这方面查找原因.
super_ssy 2008-03-18
  • 打赏
  • 举报
回复
是不是违反了外键约束呢?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧