#вопрос
Изучаю Spring, а, в частности, Spring Data JPA.
Беспокоит, hashCode и equals.
Во-первых, если класс содержит много переменных класса, код для equals и hashCode очень сильно раздувается. Более того, насколько я понимаю, если ошибешься, то могут быть большие неприятности. ID нет на этапе создания экземпляра класса. Это надо добавлять еще проверку, пуст ли id. В общем, ошибиться-то можно.
Но решением этой проблемы мне видится uuid. Вот так:
@Column(unique = true, nullable = false)
private UUID uuid = UUID.randomUUID();
Это очень простой и понятный кусочек кода. Теперь можно легко сравнивать. Сравнил uud - все норм. И хэш от него можно взять.
И теперь можно вот это вот все вынести в BaseEntity. И вообще забыть - и работать будет идеально.
А если так не сделать, придется каждый раз что-то мудрить и с hashCode, и в equals.
Скажите, пожалуйста, это решение уродливое или наоборот красивое?