Я застрял в создании таблиц аудита. У меня есть два коллективных отношения «один ко многим». Один раз обратный, другой - нет. Аутентификация, связанная с аудитом, работает для немедленного высвобождения, но не для обратного.JPA Hibernate и AuditJoinTable
Мой код
@Entity
@Audited
@AuditTable(value = "DDD")
public class Department {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
@Audited
private int id;
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
private String name;
@OneToMany(targetEntity = Professor.class,cascade = CascadeType.ALL)
@JoinColumn(name = "dept_id")
@AuditJoinTable(name = "abc")
private java.util.Collection<Professor> employees;
@OneToMany(targetEntity = Address.class, mappedBy = "department")<==inverse relation
@AuditJoinTable(name = "def")
//I tried commenting this out and let the inverse side AuditJoinTable annotation, no luck
private java.util.Collection<Address> addresses;
//Getters and setters remove to reduce clutter
}
Адрес
@Entity
@Audited
public class Address {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private int id;
@Column
private String name;
@ManyToOne(cascade = CascadeType.ALL)
@AuditJoinTable(name = "def")
private Department department;
Профессор
@Entity
@Audited
public class Professor {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private int id;
@Column
private String name;
private long salary;
@ManyToOne
@JoinColumn(name = "dept_id")
private Department department;
}
Когда я создаю scema с помощью hibernate.hbm2ddl.auto "DEF" autdit таблица не создается. Однако создается сводный аудит «abc», и когда сбор сотрудников обновляется, записи аудита регистрируются.
Я использую Hibernate/Hibernate-Envers - 3.6.9.Final JPA 1.0
Все указатели оценили