최대 절전 모드를 사용하여 데이터베이스 개체에 대한 모든 변경 사항을 추적하고 있습니다. 이러한 객체는 때때로 (단방향) 부모 - 자식 관계에 의해 관련됩니다. 삭제 된 개체를 모두 나열해야하는 쿼리가 필요하므로 삭제 된 개체 (* _aud 테이블의 revtype 열)를 표시하는 데 사용되는 감사 테이블을 사용하고 있습니다. 그러나 부모 개체가 삭제되면 내 자식 개체에 대해 이러한 항목이 만들어지지 않은 것처럼 보입니다.Hibernate Envers : 계단식 삭제를위한 감사 테이블에서 No 항목을 삭제하지 않습니다.
내 객체 클래스는 다음과 같습니다
@Entity
@Audited
public class MyClass {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(nullable = false, unique = false, length = 1024)
private String name;
// An object can have exactly one parent, but multiple children
@ManyToOne
@OnDelete(action = OnDeleteAction.CASCADE)
private MyClass parent;
}
내가 의심하고있어 어떻게 든 envers를 최대 절전 모드로 우회 조치를 삭제 캐스케이드 함께 할 수있는 뭔가가. 참조 된 부모가 삭제 될 때 모든 자식이 데이터베이스에 의해 자동으로 삭제된다는 것을 확인하면서 자식 객체에 대한 감사 테이블의 항목이 생성된다는 것을 어떻게 알 수 있습니까?
사용중인 Hibernate와 Envers의 버전은 무엇입니까? – jpkrohling
현재, 3.5.2 절은 Hibernate 배포를 사용하고 있습니다. 방금 3.5.6을 시도했지만 동일한 결과가 나타납니다. –