【发布时间】:2016-02-25 03:24:49
【问题描述】:
我开始使用 Hibernate Envers。我已经能够使用 @Audited 正确注释类并创建修订版,但我无法使用我的修订版记录记录的用户数据。
我的 JSF 2.0 测试应用程序在 jbossEAP6 / wildfly 服务器的 CDI、JPA/Hibernate 上运行。我既没有使用 Spring 也没有使用 Seam。
这里有一些代码:
revisionEntity.java
@Entity
@RevisionEntity(AuditListener.class)
public class RevisionEntity {
@Id
@GeneratedValue
@RevisionNumber
private int id;
@RevisionTimestamp
private long timestamp;
private String username;
LoginBean.java
@Named
@Stateful
@SessionScoped
public class LoginBean implements Serializable{
private String username;
...
AuditListener.java
import javax.ejb.Stateful;
import javax.enterprise.context.SessionScoped;
import javax.inject.Inject;
import javax.inject.Named;
import org.hibernate.envers.RevisionListener;
import br.test.login.filterlogin.beans.LoginBean;
@Named
@Stateful
@SessionScoped
public class AuditListener implements RevisionListener {
@Inject
private LoginBean loginBean;
public void newRevision(Object revisionEntity) {
RevisionEntityEx RevEntity = (RevisionEntityEx) revisionEntity;
RevEntity.setUsername(loginBean.getUsername());
}
loginBean 注入失败,给我一个 NullPointerException。有什么想法吗?
对不起我糟糕的语法。
问候, 马塞洛。
【问题讨论】:
标签: cdi hibernate-envers