java – Hibernate:saveorupdate()没有更新对象
发布时间:2020-12-15 04:21:26 所属栏目:Java 来源:网络整理
导读:我使用 spring来维护我的应用程序中的事务. 我想保存新的并更新DB中的现有用户详细信息.但是我无法更新我对数据库的更改.请参阅下面的代码并告诉我在代码中出错了什么? Session session = getSessionFactory().getCurrentSession(); UserDetails userDetail
我使用
spring来维护我的应用程序中的事务.
我想保存新的并更新DB中的现有用户详细信息.但是我无法更新我对数据库的更改.请参阅下面的代码并告诉我在代码中出错了什么? Session session = getSessionFactory().getCurrentSession(); UserDetails userDetails = (UserDetails) session.get( UserDetails.class,new Integer(userId)); if (userDetails!= null) { userDetails.setUserName(name); userDetails.setUserDesc(desc); } else { userDetails= new UserAuthDetails(); userDetails.setId(userId); userDetails.setUserName(name); userDetails.setUserDesc(desc); userDetails.setCreatedDt(new Date()); } session.saveOrUpdate(userDetails); 任何人都可以帮助更新现有的userdetail对象吗? 解决方法
您需要在保存或更新到数据库之前开始事务.
您的代码应如下所示: Session session = getSessionFactory().getCurrentSession(); Transaction tx=session.beginTransaction(); UserDetails userDetails = (UserDetails) session.get( UserDetails.class,new Integer(userId)); if (userDetails!= null) { userDetails.setUserName(name); userDetails.setUserDesc(desc); } else { userDetails= new UserAuthDetails(); userDetails.setId(userId); userDetails.setUserName(name); userDetails.setUserDesc(desc); userDetails.setCreatedDt(new Date()); } session.saveOrUpdate(userDetails); tx.commit(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |