Lombok EqualsAndHashCode 按内部对象字段
Lombok EqualsAndHashCode by inner object field
我需要通过内部对象字段创建 @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 29=]字段。
是否可以使用 lombok 做这样的事情?
您可以在Workplace.java中添加以下方法和注解以获得想要的结果:
@EqualsAndHashcode.Include
public Long getAccountId() {
return account.getId();
}
我需要通过内部对象字段创建 @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 29=]字段。
是否可以使用 lombok 做这样的事情?
您可以在Workplace.java中添加以下方法和注解以获得想要的结果:
@EqualsAndHashcode.Include
public Long getAccountId() {
return account.getId();
}