如何使用@EqualsAndHashCode With Include - Lombok

新手上路,请多包涵

如何使用 @EqualsAndHashCodeInclude ,用于 Java 的 Lombok 库。

 @EqualsAndHashCode.Include( )

如何让 Equals 比较类 ID?

例子:

 @EqualsAndHashCode.Include( )
@Table(name = "USER")
public class User
{

  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  @Column(name = "IDENTITY_USER")
  private Long identity;
}

原文由 Sérgio Thiago Mendonça 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

Include 注释用于要包含在 equalshashCode 方法中的成员。如果您想准确指定应使用哪些成员(而不是所有非静态非瞬态成员的默认值),您可以使用 onlyExplicitlyIncluded = true 选项中的 @EqualsAndHashCode 注释:

 @EqualsAndHashCode(onlyExplicitlyIncluded = true)
@Table(name = "USER")
public class User
{

  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  @Column(name = "IDENTITY_USER")
  @EqualsAndHashCode.Include
  private Long identity;
}

原文由 Mureinik 发布,翻译遵循 CC BY-SA 4.0 许可协议

你应该在现场使用它,而不是在课堂上使用它。您可以通过检查定义以下目标的注释的定义来检查这一点(字段和方法,而不是类)

 @Target({ElementType.FIELD, ElementType.METHOD})

这是一个如何使用它的例子

@EqualsAndHashCode(onlyExplicitlyIncluded = true)
@Table(name = "USER")
public class User
{

  @Id
  @EqualsAndHashCode.Include()
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  @Column(name = "IDENTITY_USER")
  private Long identity;
}

原文由 Yassin Hajaj 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏