Читаю тут документацию и нахожу странное:
https://docs.jboss.org/hibernate/orm/5.5/userguide...
Для джавы нормально что два экземпляра одного и того же класса - будут разными т.к. equals и hashCode у них вернут разные значения.
Однако у гибернейта есть понятие сессий и Entity одной и той же записи взятая в разных сессиях (как угодно) должно быть одинакова всегда:
So what’s all the fuss? Normally, most Java objects provide a built-in equals() and hashCode() based on the object’s identity, so each new object will be different from all others. This is generally what you want in ordinary Java programming. Conceptually, however, this starts to break down when you start to think about the possibility of multiple instances of a class representing the same data.
А потому вопрос: как с этим дружат Kotlin и Lombok, избавляющие нас от шаблонного кода в data (@Data) классах?