gpt4 book ai didi

java - dynamicUpdate 在 hibernate 状态下不工作

转载 作者:行者123 更新时间:2023-11-30 07:23:20 24 4
gpt4 key购买 nike

我有一个客户表,其中有 3 列,即 id、name 和 age。

如果我创建一个没有年龄的客户对象,即我没有设置任何年龄值,那么如果表中存在相同的客户(由客户 ID 标识),则 saveOrUpdate() 会将年龄列更新为0.我希望避免年龄列值被零或空值覆盖,如果已经存在于表中的话。例如根据下面粘贴的代码片段,如果客户 ID 10 已经存在具有某个年龄值的行,那么在这种情况下,我的年龄不应被零覆盖。

我在谷歌上搜索,发现我可以将 dynamicUpdate 设置为 true 来实现这一点。但是在执行代码时我的年龄值仍然被 0 覆盖。我正在粘贴代码片段

@Entity
@Table(name = "CUSTOMER")
@org.hibernate.annotations.Entity(
dynamicUpdate = true
)
public class Customer {

@Id
@GeneratedValue
@Column(name = "CUSTOMER_ID")
private int custId;

@Column(name = "CUSTOMER_NAME")
private String custName;

@Column(name = "CUSTOMER_AGE")
private int custAge;
............
...........

Customer cust = new Customer();
cust.setCustId(10);
cust.setCustName("anand");
session.saveOrUpdate(cust);
tx.commit();

最佳答案

要让 dynamicUpdate 工作,get 和 update 必须在同一个事务中。

关于java - dynamicUpdate 在 hibernate 状态下不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12098657/

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