我遇到过一种情况,我在JPA中持有Entity对象,然后必须查看是否有另一个对象.equals()
。
然而,测试失败了,因为第一个对象只是一个POJO,而第二个对象是它的托管等价物。
作为JPA创建或编辑操作的结果,返回新管理的实体对象是一种好习惯吗?
此致 劳伦斯
答案 0 :(得分:1)
您可以使用构成对象业务键的字段覆盖hashCode()
和equals(..)
方法。 See this article
答案 1 :(得分:0)
你有两种类型?一个POJO,实际上是一个DTO和一个注释的POJO管理?你能编写一个equals方法,还是制作一个让人不惊讶的比较方法?
这涉及到关于“平等”意味着什么的各种有趣的问题。我的机构是提供hasTheSameValueAs()
方法。
要直接回答您的问题,有时候返回托管对象似乎非常方便。