首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JPA2.0JPQL更新

JPA2.0JPQL更新
EN

Stack Overflow用户
提问于 2014-04-15 22:20:16
回答 1查看 545关注 0票数 1

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

下面是将任务移动到工作池的方法:

代码语言:javascript
复制
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());

}

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

代码语言:javascript
复制
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执行更新查询的预期行为,还是我遗漏了什么?

有人能给我一些建议吗。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-26 13:26:59

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23095610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档