你知道如何使用 JUnit 来测试两个 Hibernate 会话是否相同吗?我需要覆盖equals()
吗?
问问题
583 次
2 回答
1
如果您只想查看两个引用是否指向同一个对象,那么 == 运算符就足够了。
如果您想要测试相等性,即它们具有相同的变量,那么您必须使用您的特定逻辑覆盖 equals 方法以确定相等性。但是,如果对象属于您无权访问源进行修改的类型,那么您将不得不依赖它们以满足您要求的方式实现 equals 方法。
在极少数情况下,如果它不是您想要的,那么只要该类是可扩展的,您就可以创建一个覆盖 equals 方法的匿名类。
于 2012-12-18T04:09:47.247 回答
0
看看这个问题Hibernate Object Equality Checking
从上面的参考文献中,JUnit 断言应该是这样的:
assertTrue(o1.getClass().equals(o2.getClass()) && o1.getId().equals(o2.getId()));
于 2012-12-18T04:27:01.317 回答