Как сделать отображение Hibernate для таблицы или представления без первичного ключа
Возможный дубликат:
Спящий и без ПК
Кто-нибудь знает, как сделать отображение спящего режима для таблицы или представления без первичного ключа?
2 ответа
Не думайте, что Hibernate позволяет отображать таблицу без первичного ключа... подумайте, как Hibernate будет выполнять обновления без столбца, который может однозначно идентифицировать строку.
Я полагаю, что обходным решением было бы использовать составной ключ со всеми столбцами, но вам гораздо лучше добавить первичный ключ.
Я сделал бы это только тогда, когда вы читаете данные (не пишете их). Когда у вас есть БД, как оракул, вы можете иметь такие заявления, как
select DOKUMENT.*, ROWID from DOKUMENT
→ и, таким образом, вы можете добавить это утверждение в отображение Hibernate:
<id column="ROWID" type="string" />
впоследствии вы определяете все остальные столбцы как
<property...
Когда вы используете мастер обратного инжиниринга, вы можете
- удалить тег составного ключа,
- поиск и замена ключа-свойства для свойства и
- вставить над строкой