Tag: javers

如果根对象中的简单属性发生更改,则JaVers会检测子级中的更改

我使用Kotlin,我试图用JaVers比较两个复杂的对象(多个周期)。 这些对象使用多个Id-属性。 因此,我创建了Id-Classes,为每个类都有一个Id-Property。 在Id-Classes中,我也使用对根对象的引用,因为我需要使用它们来为我的数据库创建主键。 当我比较两个对象和根对象中的一个更改时,JaVers应该只列出一个ValueChange。 但是相反,JaVers发现了5个改变(NewObject-child,ObjectRemoved-child,ReferenceChanged-child,ListChange-root,ValueChanged-root)。 试图解决这个问题,我更新了我的equals和hashCode方法的子对象来检查根对象的id而不是根对象本身当计算相等==> root1.childList == root2.childList返回true 。 任何想法,我可以教JaVers没有任何儿童对象已经改变? League.kt – 根对象 @Entity data class League(@EmbeddedId val leagueId: LeagueId? = null, var name: String? = null, var region: String? = null, @OneToMany(cascade = [CascadeType.ALL], orphanRemoval = true) var groups: List? = null, @OneToMany(cascade = [CascadeType.ALL], orphanRemoval = true) var matchDays: List? = […]