比较JUnit中两个Hibernate会话是否相同

时间:2012-12-18 03:23:12

标签: java hibernate junit

你知道如何使用JUnit来测试两个Hibernate会话是否相同吗?我是否需要覆盖equals()

2 个答案:

答案 0 :(得分:1)

如果你只是想看看两个引用是否指向同一个对象,那么==运算符就足够了。

如果你想要的是测试相等性,即它们具有相同的变量,那么你必须用你的特定逻辑覆盖equals方法来确定相等性。但是如果对象属于您无法访问要修改的源的类型,那么您将不得不依赖于它们以满足您的要求的方式实现equals方法。

在极少数情况下,如果它不是您想要的,那么只要该类是可扩展的,您就可以创建一个覆盖equals方法的Anonymous类。

答案 1 :(得分:0)

查看此问题Hibernate Object Equality Checking

从上面的参考资料中,JUnit断言应该是:

assertTrue(o1.getClass().equals(o2.getClass()) && o1.getId().equals(o2.getId()));