gpt4 book ai didi

java - hibernate :saveorupdate() 不更新对象

转载 作者:可可西里 更新时间:2023-11-01 07:52:28 25 4
gpt4 key购买 nike

我正在使用 spring 来维护我应用程序中的事务。我想在数据库中保存新的并更新现有的用户详细信息。但是我无法更新对数据库的更改。查看我下面的代码并告诉我我的代码做错了什么?

 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();

关于java - hibernate :saveorupdate() 不更新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25007881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com