Java JPA2.0 JPQL更新
我面临着hibernate更新的不同行为,我运行一个简单的JPQL来更新我的任务的工作池,并触发select insert和bulk update查询来更新我的任务的工作池 下面是我将任务移动到工作池的方法:Java JPA2.0 JPQL更新,java,hibernate,jpa,jpql,Java,Hibernate,Jpa,Jpql,我面临着hibernate更新的不同行为,我运行一个简单的JPQL来更新我的任务的工作池,并触发select insert和bulk update查询来更新我的任务的工作池 下面是我将任务移动到工作池的方法: public Boolean changeWorkpool(final TaskWorkpoolChangeRequest taskWorkpoolChangeRequest) { final Query query = entityManager.createQuery("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中批量操作的一个很好的解释: