У меня есть два класса
@Data
class Org {
int id;
Account orgAccount;
...
}
@Data
class Account {
Org org;
}
И у меня есть следующие объекты
var org = new Org();
org.setId(123);
var account = new Account();
org.setOrgAccount(account);
account.setOrg(org);
Если я сделаю account.hashCode()
или account.toString()
, я получу переполнение стека, потому что цикла. Чтобы обойти это, я делаю
@Data
class Account {
@EqualsHashCode.Exclude
@ToString.Exclude
Org org;
}
Но на самом деле я все еще хочу, чтобы сравнивали org, но только для id
, а не для всего объекта. Каков наилучший способ сделать это, не используя собственный хеш-код equals / hashcode?