内部对象字段的龙目岛EqualsAndHashCode

时间:2019-11-25 08:03:38

标签: java lombok

我需要通过内部对象字段创建 @EqualsAndHashCode 。我有两个实体WorkPlace和Account。

简码:

***WorkPlace.java***
public class WorkPlace {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @ManyToOne(optional = false)
    @NotNull
    private Account account;
    .......................
}
***Account.java***
public class Account {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    ...............
}

我想使用lombok在WorkPlace.class中创建EqualsAndHashCode,例如:

@EqualsAndHashCode(of = {"id", "account.id"})

在构建项目时-“ account.id ”被忽略,并通过 id 字段创建了EqualsAndHashCode。

是否可以使用龙目岛做类似的事情?

1 个答案:

答案 0 :(得分:1)

您可以在Workplace.java中添加以下方法和注释以获得所需的结果:

@EqualsAndHashcode.Include
public Long getAccountId() {
  return account.getId();
}