gpt4 book ai didi

java - 使用 jOOQ 更新交叉引用表

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

我有表 UsersFactors 和交叉引用 UserFactors

当我在交叉引用表上使用 store() 方法时,在像这样设置两个 id 之后:

UserFactorsPOJO userFactors = new UserFactorsPOJO();
userFactors.setUserId(userId);
userFactors.setFactorId(FactorId);
userFactors.setValue(value);
UserFactorsRecord userFactRec = create.newRecord(UserFactors.USER_FACTORS, userFactors);
userFactRec.store();

Jooq 尝试插入一条记录,显然是因为我正在将 id 设置到 POJO 并存储它。我收到“Unique index or primary key violation”错误。

如何使用这两个 ID 检索我想要的行,然后更新该行?

最佳答案

如果您真的要更新单个 ID 的单个值,则不应使用 jOOQ 的 UpdatableRecord为避免发出两个查询的任务。最简单的解决方案是:

create.update(USER_FACTORS)
.set(USER_FACTORS.VALUE, value)
.where(USER_FACTORS.FACTOR_ID.eq(factorId))
.execute();

请参阅手册中关于 the UPDATE statement 的部分.如果您打算进行更复杂的更新,您也可以尝试使用 jOOQ's MERGE statement support ,虽然在这个例子中,我认为你不需要 MERGE

关于java - 使用 jOOQ 更新交叉引用表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20883852/

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