java - Lombok EqualsAndHashCode 按内部对象字段
问题描述
我需要通过内部对象字段创建@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 。
是否可以使用 lombok 做这样的事情?
解决方案
您可以在 Workplace.java 中添加以下方法和注释以获得所需的结果:
@EqualsAndHashcode.Include
public Long getAccountId() {
return account.getId();
}
推荐阅读
- php - How to authenticate user without a DB in Laravel?
- angular - Angular ngx-translate 不会在延迟加载的模块中共享应用程序翻译
- angular - @HostBinding() 指令和 ElementRef/Renderer 有什么区别?
- python - 如何在 discord.py 中运行 1 和任何其他 bot 命令?
- c# - textBlock 未更新(RaisePropertyChanged 不起作用?)
- reactjs - Webpack React 错误:你不应该使用
外面 - firebase-cloud-messaging - Ionic 4 + FCM:如何修复编译器错误 - colorAccent 未找到?
- php - 如何处理 PHPUnit 中的控制器依赖关系?
- node.js - swagger-js:如何添加授权标头?
- vba - 自动选中复选框