如何使用包含@EqualsAndHashCode - 龙目岛

2022-09-01 02:31:47

如何使用 With ,龙目岛库 for Java.@EqualsAndHashCodeInclude

@EqualsAndHashCode.Include( )

如何使Equals比较类ID?

例:

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

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

答案 1

注释用于要包含在 和 中的成员。如果要准确指定应使用哪些成员(而不是所有非静态非瞬态成员的默认值),则可以使用注释中的选项:IncludeequalshashCodeonlyExplicitlyIncluded = 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;
}

答案 2

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

@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;
}

推荐