基于,作为一个Java程序员,我的经验法则是只在不可变对象上实现equals()和hashCode(),其中对象的两个实例实际上是可互换的。总的来说,在我的Java职业生涯中,除了(1)值对象和(2)将事物放入集合之外,我还使用了 for equals()。--除非h1.equals(h4) (或者h4.equals(h1),我不清楚,但我希望它是传递性的,所以无论如何),Hibernate将无法判断这是相同的事情,坏的事情会发生。<
我已经尝试过搜索堆栈溢出和在其他网站使用Set vs List的优点、缺点和方便之处,但我真的找不到什么时候使用这个或那个的确切答案。从Hibernate的文档中,它们声明不重复的记录应该进入Set,从那里开始,您应该为每个可以包装到集合中的实体实现hashCode()和equals()。但接下来是方便和易用的代价,因为有一些文章建议使用业务键作为每个实体的id,然后,无论对象的状态如何(管理、分离等),hashCode()和
我尝试通过@DataJpaTest测试我的Spring Repository。我想通过电子邮件找到完全相同的用户,但我得到了另一组角色。@Componentpublic class SetupDataLoader implements ApplicationListener<ContextRefreshedEvent> {
private final RoleRepository