2010-11-17 5 views
2

Таблица Mysql Сотрудник использует employeeID как PK. Он также имеет поле под названием EmployeeNumber. Номер EmployeeNumber является нулевым или уникальным. (У некоторых специальных сотрудников нет сотрудника #). При вставке записи сотрудника нам нужно проверить, является ли сотрудник # уже, если сотрудник # не равен нулю.Java Hibernate проверяет, существует ли значение

Не знаю, как это сделать, используя Hibernate.

Спасибо заранее!

+0

Было бы полезно увидеть код. Либо запросите таблицу перед вставкой, чтобы увидеть, существует ли сотрудник # уже существует, либо создайте уникальный индекс для сотрудника # и вставьте строку. Если уникальный индекс не удастся выполнить транзакцию, вы можете проверить исключение, чтобы подтвердить, почему он потерпел неудачу, и отделите свою логику оттуда. – Griff

+0

Если у вас есть уникальное ограничение для столбца с нулевым значением, вы не сможете иметь более одной строки со значением NULL. По крайней мере, на некоторых СУБД. –

ответ

0

У вас нет механизма генерации первичных ключей для объекта Employee? вызов session.save() в Hibernate завершится с ошибкой, если идентификатор сотрудника уже существует.

Смежные вопросы