gpt4 book ai didi

java - JPA 2.0 JPQL 更新

转载 作者:太空宇宙 更新时间:2023-11-04 14:56:55 25 4
gpt4 key购买 nike

我面临着 hibernate 更新的不同行为,我正在运行一个简单的 JPQL 来更新我的任务的工作池及其触发 select-insertbulk-update查询以更新我的任务工作池。

以下是我将任务移至工作池的方法:

public Boolean changeWorkpool(final TaskWorkpoolChangeRequest taskWorkpoolChangeRequest) {
final Query query = entityManager.createQuery("UPDATE Task SET workpoolId = :workpoolId"
+ " WHERE taskId= :taskId");
query.setParameter("workpoolId", taskWorkpoolChangeRequest.getWorkpoolId())
.setParameter("taskId", taskWorkpoolChangeRequest.getTaskId());
return BooleanUtils.toBoolean(query.executeUpdate());

}

以下是在服务器上执行的查询:

Hibernate: /* select insert */ insert into HT_task select task0_.task_id as task_id 
from task task0_ left outer join task_manager manager0_1_ on task0_.task_id=manager0_1_.task_id
left outer join task_employee employee0_2_ on task0_.task_id=employee0_2_.task_id
where task0_.task_id=?

Hibernate: /* bulk update */ update task set workpool_id=? where (task_id)
IN (select task_id from HT_task)

执行更新查询是 hibernate 的预期行为还是我遗漏了什么?

任何人都可以对此给予一些指示吗?

谢谢

最佳答案

我在这里得到了关于 java 中批量操作的一个不错的解释: http://in.relation.to/2072.lace

关于java - JPA 2.0 JPQL 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23095610/

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