Я начинаю с Hibernate Envers. Я уже умею правильно комментировать классы с помощью @Audited и создавать ревизии, но я не могу записывать зарегистрированные данные пользователя с моими ревизиями.CDI Beans и Hibernate Envers
Приложение для тестирования JSF 2.0 работает на CDI, JPA/Hibernate на сервере jbossEAP6/wildfly. Я не использую 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. Есть идеи?
Извините за мою страшную грамматику.
С уважением, Марсело.