Как сделать отображение Hibernate для таблицы или представления без первичного ключа

Возможный дубликат:
Спящий и без ПК

Кто-нибудь знает, как сделать отображение спящего режима для таблицы или представления без первичного ключа?

2 ответа

Решение

Не думайте, что Hibernate позволяет отображать таблицу без первичного ключа... подумайте, как Hibernate будет выполнять обновления без столбца, который может однозначно идентифицировать строку.

Я полагаю, что обходным решением было бы использовать составной ключ со всеми столбцами, но вам гораздо лучше добавить первичный ключ.

Я сделал бы это только тогда, когда вы читаете данные (не пишете их). Когда у вас есть БД, как оракул, вы можете иметь такие заявления, как

select DOKUMENT.*, ROWID from DOKUMENT

→ и, таким образом, вы можете добавить это утверждение в отображение Hibernate:

<id column="ROWID" type="string" />

впоследствии вы определяете все остальные столбцы как

<property...

Когда вы используете мастер обратного инжиниринга, вы можете

  1. удалить тег составного ключа,
  2. поиск и замена ключа-свойства для свойства и
  3. вставить над строкой
Другие вопросы по тегам