JPA 实体的 id 字段是否应以 equals 和 hashCode 的形式考虑?
2022-09-03 10:15:50
在使用 JPA2 和 EclipseLink 为数据库应用程序编写测试时,我遇到了一个问题:
我将一些实体添加到数据库中,稍后检索它,并希望将其与具有我期望的值的实例进行比较,以确认添加按我的预期工作。
首先我写了类似的东西
assertEquals(expResult, dbResult);
失败了,因为我无法真正知道字段的值,该字段由数据库生成,因此与我手动创建和填充的字段不同。id
dbResult
expResult
new
我看到两个选项:
要么我从中删除该字段,以便比较仅基于“实际值”。不过,我不知道这是否会导致数据库或其他地方出现问题。
id
equals
hashCode
或者,我编写测试以显式检查除手动之外的每个字段。
id
我该怎么办?