有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

执行批处理更新时,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) 个答案