我对Envers(历史创造者)在Mediator Class中的应用存有疑问。
问题是,当关系中的对象更改值时,如何在Mediator类中应用Audit。
例如,在我的类ProjectMediator中,我有这种情况:
@Entity
@NamedQueries({
@NamedQuery(name = "ProjectMediator.findProjectMediatorByIdProject",
query = "SELECT pm FROM ProjectMediator pm WHERE pm.project.id = :idProject")
})
@Audited
public class ProjetMediator implements Serializable {
private static final long serialVersionUID = 1L;
public static final String FIND_PROJECT_BY_ID_PROJECTMEDIATOR = "ProjectMediator.findProjectMediatorByIdProject";
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@OneToOne
@JoinColumn(name="id_project")
private Project project;
@ManyToMany( targetEntity=Task.class, fetch=FetchType.LAZY )
private List<Task> tasks;
@ManyToMany( targetEntity=Activite.class, fetch=FetchType.LAZY )
private List<Acitvity> activities;
@ManyToMany( targetEntity=Phase.class, fetch=FetchType.LAZY )
private List<Phase> phases;
//get and sets }
我需要在Phase对象更改值时创建历史记录,因此历史记录需要ProjectMediator的id,id Phase和数据Phase。
任何人都知道如何制作类似的东西?
非常感谢!!