执行批处理更新时,java PostUpdate挂钩不起作用
我正在与JPA/Hibernate合作
我正在进行批量更新:
代码片段:
@PersistenceContext
private EntityManage entityManager;
...
private int update(StudentEntity studentEntity){
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaUpdate<StudentEntity > criteria = builder.createCriteriaUpdate(StudentEntity.class);
Root<StudentEntity> root = criteria.form(StudentEntity.class)
setFields(criteria, root, studentEntity)
criteria.where(builder.equal(root.get("studentId"), studentEntity.getStudentId()));
return entityManager.createQuery(criteria).executeUpdate();
}
private setFields(CriteriaUpdate<StudentEntity> criteria, Root<StudentEntity> root,StudentEntity studentEntity){
criteria.set(root.get("studentName"),studentEntity.getStudentName());
....
}
在执行上述代码时@PostUpdate
钩子没有被调用,为什么
@PostUpdate
private update (StudentEntity studentEntity){
System.out.println("@PostUpdate called.");
}
共 (0) 个答案