我是利用Hibernate envers来跟踪对我数据库物体的所有变化。 有时,这些物体与父母与子女的关系有关。 由于我需要一些本应列出所有已删除物体的问询,因此,依靠对面的审计表来标明已删除的物体(订正表格中的重字栏)。 然而,在删除其母子物体时,似乎没有为我的任何儿童物品设定这些条目。
我的反对阶级认为:
@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;
}
我怀疑这种行动与一些避风港的行动有关。 我怎么能够认识到,表中所列儿童物体的条目是在确保数据库在删除提及父母时自动删除所有儿童的内容?