我的团队在当前项目中使用Hibernate Tools 4.0.0,我正在使用FindBugs。它标志着生成的ORM代码的equals
方法正在使用==
而不是equals
。
我搜索但无法找到如何改变它。根据我的理解,不应该使用equals
代替==
?如果是,如何做(通过hibernate.reveng.xml
或其他)?
更新:
我需要向右滚动才能看到生成的代码行的其余部分。事实证明,标记为的第一部分是进行内存引用。但是,使用equals
进行比较时会进行OR运算。所以这只是一个需要仔细阅读的案例。
答案 0 :(得分:1)
这取决于所比较的内容。 ==
在处理对象时比较引用,而.equals()
比较对象的值(如果这些对象支持.equals()
)。
生成的代码==
可能会被恰当地使用。这当然取决于具体情况。