Java JPA实体事件侦听器

Java JPA实体事件侦听器,java,entity-framework,jpa,Java,Entity Framework,Jpa,我有一个名为recInfo的实体,它包含一些关于在几个实体中创建和修改条目的信息 此时,实现是使用setter完成的,因此每次我想在其中一个实体中添加条目时,我都必须创建一个新的recInfo,并将其设置到实体的recInfo字段中 我在考虑为这几个实体添加一个侦听器,每当有人创建一个新的或修改它时,它都会保存时间戳,创建它的用户(使用sessionContext.getCallerPrincipal().toString(); 我已经查看了文档,但我发现很难理解如何将那里的侦听器应用于实体中的

我有一个名为recInfo的实体,它包含一些关于在几个实体中创建和修改条目的信息

此时,实现是使用setter完成的,因此每次我想在其中一个实体中添加条目时,我都必须创建一个新的recInfo,并将其设置到实体的recInfo字段中

我在考虑为这几个实体添加一个侦听器,每当有人创建一个新的或修改它时,它都会保存时间戳,创建它的用户(使用
sessionContext.getCallerPrincipal().toString();


我已经查看了文档,但我发现很难理解如何将那里的侦听器应用于实体中的更改!

JPA回调用于此目的

public class EntityListener {

    @PrePersist
    @PreUpdate
    public void setRecInfo(Entity entity) {
        RecInfo recInfo = new RecInfo();
        // TODO set recInfo fields
        entity.setRecInfo(recInfo);
    }

}

@Entity
@EntityListeners (value = {EntityListener.class})
public class Entity {

    private RecInfo recInfo;

    public RecInfo getRecInfo() { return recInfo };

    public void setRecInfo(RecInfo recInfo) { this.recInfo = recInfo };

}

JPA回调用于此目的

public class EntityListener {

    @PrePersist
    @PreUpdate
    public void setRecInfo(Entity entity) {
        RecInfo recInfo = new RecInfo();
        // TODO set recInfo fields
        entity.setRecInfo(recInfo);
    }

}

@Entity
@EntityListeners (value = {EntityListener.class})
public class Entity {

    private RecInfo recInfo;

    public RecInfo getRecInfo() { return recInfo };

    public void setRecInfo(RecInfo recInfo) { this.recInfo = recInfo };

}

EntityListeners代替EntityListener EntityListeners代替EntityListener