Hibernate, как избежать дубликатов? - PullRequest
1 голос
/ 08 марта 2012

В моей таблице 3 столбца: ID, Город, Район.

Мой веб-сервис вводит в список список пар (город, район). Мне нужно избегать дубликатов пар (город, район).

Как мне достичь этого результата? Я не могу использовать session.saveOrUpdate (), потому что из-за другого идентификатора все записи кажутся всегда разными.

Пожалуйста, помогите мне.

Спасибо.

1 Ответ

3 голосов
/ 08 марта 2012

Комментарий подсказывает, что вы должны сделать

CONSTRAINT city_district_unique UNIQUE (city, district)

создать УНИКАЛЬНОЕ ограничение для полей.Это также может быть сделано с аннотациями JPA, когда вы хотите создать таблицу с Hibernate

@Table(name = "yourtable", uuniqueConstraints = {@UniqueConstraint(columnNames = "subject"), ... })

. При вставке вы должны поймать исключение из-за нарушения вышеуказанного ограничения и обработать его должным образом, например, повторновставка с измененными параметрами или вообще ее игнорировать.Более того, проверяйте свои данные, прежде чем они попадут в Hibernate, чтобы заранее избежать недопустимых вставок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...