Использование Hibernate Envers с наследованием
Пожалуйста, предложите мне, как сделать аудит с таблицей типов наследования для каждого подкласса, потому что я не могу найти какую-либо документацию для этого. Я пробовал это на моем коде, но он не работает должным образом. Если я сделаю родительскую таблицу "@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, но в них данные не вставляются. Пожалуйста, скажите мне, если я что-то упустил. заранее спасибо
1 ответ
Я только что получил обходной путь, таким образом, обновил мой спящий режим с 3.5 до 4.2, и теперь все работает нормально. Я думаю, что есть какая-то ошибка в hibernate envers 3.5, и она будет решена в более поздних версиях.