Spring数据逆转JPA多级实体修订不起作用

问题描述

我想在父级和子级实体类中捕获审计信息。

方案:1.每当父表(员工)发生更改时,显示审核信息 2.只要子表(地址)发生更改,就显示审核信息

实体类

@Entity
@Table(name = "employee")
@Audited
public class Employee {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    @Column
    private String name;
    @OnetoMany(cascade = CascadeType.ALL)
    @JoinColumn(name = "employee_id",referencedColumnName = "id")
    private List<Address> address;
    //getters and setters
}

@Entity
@Table(name = "address")
@Audited
public class Address {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private  int id;
    @Column
    private String addressLine1;
    @Column
    private String addressLine2;
    //getters and setters
}

存储库类:

//repositories classeswhich extends revisionRepository to handle programatically
    @Repository
    public interface EmployeeRepository extends RevisionRepository<Employee,Integer,Integer>,JpaRepository<Employee,Integer> {
    }
    @Repository
    public interface AddressRepository extends RevisionRepository<Address,JpaRepository<Address,Integer> {
    }

ServiceImpl:

//get all the list of objects with revisions
    Revisions<Integer,Employee> e1=employeeRepository.findRevisions(id);

e1仅给出我对雇员obj进行修改的那些雇员对象。如果我仅更新雇员的地址。我不会获得更新的obj

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...