Java Hibernate Eclipse XML - использовать объект без первичного ключа - PullRequest
2 голосов
/ 06 мая 2011

У меня есть один вопрос, что если мы создаем какую-либо таблицу в базе данных, т.е. не имея первичного ключа (все значения столбцов обнуляются).

мы не можем сделать отображение без поля идентификатора в Hibernate O / RСопоставление, т.е. файл .hbm.xml при работе с hibernate.

Проблема, с которой я сталкиваюсь, заключается в том, что мой файл .hbm.xml без поля идентификатора не проходит проверку.

Я получил ответы оти все, но у меня есть один вопрос, который мы можем использовать, используя временное ключевое слово с префиксом для переменной ID в классе сущностей, чтобы не сохранять это значение в базе данных?

Ответы [ 2 ]

3 голосов
/ 06 мая 2011

Единственное реальное решение - это исправить вашу некорректную модель данных. Объект, у которого нет первичного ключа, не является реляционными данными, поэтому нельзя ожидать, что продукт ORM сможет узнать, как с ним обращаться.

А как Hibernate будет выполнять обновление без первичного ключа или уникально идентифицированной строки?

Спасибо.

0 голосов
/ 06 мая 2011

Вы не можете сделать это в спящем режиме. И ты не должен делать это в любом случае. Базы данных предупреждают, что не рекомендуется не иметь первичный ключ.

Если у вас действительно нет набора столбцов, образующих уникальный ключ, у вас есть два варианта:

  • добавить первичный ключ с автоинкрементом (предпочтительно)
  • использовать необработанный JDBC для получения данных из этой конкретной таблицы. Вы можете сделать это с помощью метода session.doWork(..) в hibernate.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...