powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate equals & hashcode
3 сообщений из 3, страница 1 из 1
Hibernate equals & hashcode
    #37843913
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос такой....

Вот есть скажем простая сущность...

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
class Something {
    // primary key
    private Integer id;

    private String name;

    private String description;
}



я определил equals & hashCode так, что в нем участвуют все три поля. Возможно в этом и есть моя беда.

Проблема следующая, иногда мне нужно добавлять в базу экземпляр, а иногда нет(например когда поля name, description совпадают с каким-то экземпляром, который был получен, после выборки всех записей), - для этого мне приходится явно писать код, который проверяет, есть ли уже "такой же" объект в базе или нет.

Как-то можно это делегировать на Hibernate?
...
Рейтинг: 0 / 0
Hibernate equals & hashcode
    #37843931
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaksя определил equals & hashCode так, что в нем участвуют все три поля. Возможно в этом и есть моя беда.
Изменяемые поля не должын влизять на hashCode, а соответственно на equals. Если name и description, никогда у экземпляра не меняются, то нормально. Если меняются. То стоит убрать.

scymaksПроблема следующая, иногда мне нужно добавлять в базу экземпляр, а иногда нет(например когда поля name, description совпадают с каким-то экземпляром, который был получен, после выборки всех записей), - для этого мне приходится явно писать код, который проверяет, есть ли уже "такой же" объект в базе или нет. Как-то можно это делегировать на Hibernate?
Не уверен, что хибернейт решит проблему. Но у него есть такой параметр в маппинге как natural id. Если у вас имя и описание уникальные, то это натуральный ключ. Попробуйте его прописать в маппинге. Возможно это решит проблему.
...
Рейтинг: 0 / 0
Hibernate equals & hashcode
    #37843941
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно при чем здесь equals и hashCode?
Хибернейт использует значение id, для того чтобы определить нужно ли добавить запись, или сделать апдейт существующей.
Вот немного по теме:
https://hibernate.onjira.com/browse/HHH-2896
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate equals & hashcode
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]