我应该在域类中实现equals和hashCode吗?

约翰·梅西耶

所有Grails域类都应该实现equals()hashCode()吗?Grails是否提供默认值?

似乎不需要,因为总是有一个id。

马里奥·戴维(Mario David)

在Grails的《 Programming Grails》一书中,Burt谈到了equals和hashCode(我希望我能在这里得到它),它们应该在代理使用的情况下实现(例如在进行延迟加载或时Customer.load()),并存储在集合。因为如果将代理实体和未代理实体存储在集合中,则它们不会被视为“相同”对象。

由于Hibernate通常已经在第一级缓存(Hibernate会话)中使用了非代理版本的域实例,因此仅当您拥有一个域对象(而不是当前的Hibernate会话)时,才会出现此问题。 http会话)。

如果要避免那么多样板代码,可以使用Annotation @EqualsAndHashCode(请参阅docs),如下所示:

@EqualsAndHashCode(includes='firstName,lastName')
class Customer {
  String customerId
  String firstName
  String lastName
}

有关更多信息,请参见“编程Grails-Burt Beckwith”第一版,第134页。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我应该在Java HashMap中为String键覆盖equals()和hashCode()吗?

来自分类Dev

我应该在类实现中使用getter和setter吗?

来自分类Dev

我应该在C ++的类中存储引用吗?

来自分类Dev

我应该在Java中嵌套这些类吗?

来自分类Dev

我应该在域测试中继续使用模拟和存根吗?

来自分类Dev

我应该在哪里实现类方法?

来自分类Dev

我应该在多侦听器方案中实现同步吗?

来自分类Dev

我应该在基于属性的测试中重新实现逻辑吗?

来自分类Dev

我应该在哪里放置接口和实现

来自分类Dev

我应该在哪里放置接口和实现

来自分类Dev

我应该在android类中为计算字段定义属性或函数吗?

来自分类Dev

我应该在模板类头文件中包含所需的所有内容吗?

来自分类Dev

我应该在单元测试时从正在测试的类中调用方法吗?

来自分类Dev

我应该在C#中通过属性设置器分配类字段吗?

来自分类Dev

我应该在模板类头文件中包含所需的所有内容吗?

来自分类Dev

我们应该在基类中“ super()”吗?

来自分类Dev

我应该在android类中为计算字段定义属性或函数吗?

来自分类Dev

我应该在android中实现哪个依赖注入

来自分类Dev

辅助函数应该在类中吗?

来自分类Dev

我应该在Mosby MvP概念中创建BaseActivity / Presenter和View吗?

来自分类Dev

我应该在CocoaPods依赖项中添加Foundation和其他标准框架吗?

来自分类Dev

我应该在依赖项中添加recyclerView和CardView吗?

来自分类Dev

我可以并且应该在GWT中测试fireEvent和Handlers方法吗?

来自分类Dev

我应该在模型中抛出HttpStatus异常吗?

来自分类Dev

我应该在交易中包含SELECT吗?

来自分类Dev

我应该在表示层中抛出异常吗?

来自分类Dev

我应该在onDestroyView中删除OnClickListener吗?

来自分类Dev

我应该在virtualenv中安装python 3吗?

来自分类Dev

我应该在Rust中返回等待吗?

Related 相关文章

  1. 1

    我应该在Java HashMap中为String键覆盖equals()和hashCode()吗?

  2. 2

    我应该在类实现中使用getter和setter吗?

  3. 3

    我应该在C ++的类中存储引用吗?

  4. 4

    我应该在Java中嵌套这些类吗?

  5. 5

    我应该在域测试中继续使用模拟和存根吗?

  6. 6

    我应该在哪里实现类方法?

  7. 7

    我应该在多侦听器方案中实现同步吗?

  8. 8

    我应该在基于属性的测试中重新实现逻辑吗?

  9. 9

    我应该在哪里放置接口和实现

  10. 10

    我应该在哪里放置接口和实现

  11. 11

    我应该在android类中为计算字段定义属性或函数吗?

  12. 12

    我应该在模板类头文件中包含所需的所有内容吗?

  13. 13

    我应该在单元测试时从正在测试的类中调用方法吗?

  14. 14

    我应该在C#中通过属性设置器分配类字段吗?

  15. 15

    我应该在模板类头文件中包含所需的所有内容吗?

  16. 16

    我们应该在基类中“ super()”吗?

  17. 17

    我应该在android类中为计算字段定义属性或函数吗?

  18. 18

    我应该在android中实现哪个依赖注入

  19. 19

    辅助函数应该在类中吗?

  20. 20

    我应该在Mosby MvP概念中创建BaseActivity / Presenter和View吗?

  21. 21

    我应该在CocoaPods依赖项中添加Foundation和其他标准框架吗?

  22. 22

    我应该在依赖项中添加recyclerView和CardView吗?

  23. 23

    我可以并且应该在GWT中测试fireEvent和Handlers方法吗?

  24. 24

    我应该在模型中抛出HttpStatus异常吗?

  25. 25

    我应该在交易中包含SELECT吗?

  26. 26

    我应该在表示层中抛出异常吗?

  27. 27

    我应该在onDestroyView中删除OnClickListener吗?

  28. 28

    我应该在virtualenv中安装python 3吗?

  29. 29

    我应该在Rust中返回等待吗?

热门标签

归档