预更新添加到集合时未触发
我有一个JPA注释的类,其中包含如下集合:
@Entity
public class Employee {
@Id
private int id;
@Basic
private String name;
@OneToMany
@JoinTable(name = "ORG", joinColumns = @JoinColumn(name="MINION"),
inverseJoinColumns = @JoinColumn(name="EMP"))
private List<Employee> minions = new ArrayList<Employee>();
@PreUpdate
public void preUpdate(){ ... }
}
我看到的是,如果我有一个托管的员工实体,并且我将其添加到它的仆从集合中,则该方法不会被调用。一个新行被添加到数据库的映射表中,因此我知道更新正在进行中。如果我直接在 Employee 上更改属性(如 name),则在提交事务时按预期触发。preUpdate
preUpdate
有没有办法在修改映射的集合时触发 PreUpdate?或者是否有其他技术或Hibernate特定的注释来检测何时发生这种情况?