请建议我如何使用每个子类的继承类型表进行审核,因为我无法为此找到任何文档。我已经在我的代码上尝试了它,但它无法正常工作。如果我使父表“@Audited”,那么必须自动审计我的派生类,因为它们应该继承父类的行为。我的代码如下
@Entity
@Table(name = "employee105")
@Inheritance(strategy=InheritanceType.JOINED)
@Audited
public class Employee {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name = "id")
private int id;
@Column(name = "name")
private String name;
// getter setter
}
@Entity
@Table(name="contractemployee105")
@PrimaryKeyJoinColumn(name="ID")
@Audited
public class OldEmployee extends Employee{
@Column(name="pay_per_hour")
private Long pay_per_hour;
@Column(name="contract_duration")
private String contract_duration;
// getter and setter
}
@Entity
@Table(name="regularemployee105")
@PrimaryKeyJoinColumn(name="ID")
@Audited
public class NewEmployee extends Employee{
@Column(name="salary")
private Long salary;
@Column(name="bonus")
private Integer bonus;
// getter and setter
}
在上面的代码中,正在生成所有表,即所有3个实体表,3个审计表和一个REVINFO表,但没有数据插入其中。请告诉我,如果我遗失任何东西。提前致谢
答案 0 :(得分:1)
我刚刚得到了解决方法,因此将我的hibernate从3.5升级到4.2,现在一切正常。我认为hibernate envers 3.5中存在一些错误,它在以后的版本中得到解决。