我有一个JPA 实体,其 attibutes 和几个 NamedQueries 。
我正在尝试记录一些信息“任何时候该实体用于”,即:
我想记录的信息必须包括调用者类名称和调用者方法等。
我想这必须通过拦截器来实现,但我不确定例如拦截器是否允许我拦截对类的访问抛出其NamedQueries 。 / p>
答案 0 :(得分:1)
您可以使用回调方法来实现这一点,例如@PrePersist,@ PostPersist,@ PostLoad,@ PreUpdate,@ PostUpdate,@ PreRemove,@ PostRemove在实体类中。 例如
public class EntityA {
...
@PrePersist
public void beforePersist(){
//Log information
}
}
此外,您可以在侦听器类中使用该回调方法。
public class EntityListenerA{
@PrePersist
public void beforePersist(EntityA ob) {
//Log information
}
}
@EntityListeners(EntityListenerA.class)
public class EntityA {
...
}
在你的情况下,我要求你必须使用回调@PostLoad,具体取决于查询。
希望这个帮助