Мне интересно, как написать правильные equals () и hashCode () для объектов Hibernate, которые имеют отношение Lazy Loaded ManyToOne к другому объекту, который важен как бизнес-ключ. Обратите внимание, что я уже читал документацию по Hibernate по этой теме и знаю, что должен / не должен использовать идентификатор объекта.
Для пояснения, вот пример:
public class BusinessEntity implements Serializable
{
//for simplicity, here just the important part
private String s;
@ManyToOne(fetch= FetchType.LAZY )
private ImportantEntity anotherEntity;
@Override
public boolean equals( Object obj )
{
//Here I would like to call something like
// (obj.getAnotherEntity.getName.equals(getAnotherEntity.getName) && obj.getS().equals(getS());
return true;
}
}
Конечно, это просто упрощенный пример. Но я надеюсь, что смогу объяснить свой сценарий. Кто-нибудь пробовал что-то подобное раньше? Я не нашел ничего по этой теме.