2010-12-03 2 views
0

Я прочитал несколько руководств относительно спящего режима. Я все еще путаю. Изменяется ли генератор в случае ассоциаций. Может кто-то объяснить хорошо в соответствии с их опытом, который работал, как использовать это, потому что это источник всех моих проблем, таких как нарушения.Hibernate <generator> confusion

ответ

1

Если я правильно понял ваш вопрос, вы спрашиваете, что такое генераторы и как они используются с ассоциациями?

Первый ответ прост: генераторы определяют стратегию назначения идентификаторов объектам.

Второй ответ: зависит от того, как вы установили свои отношения. Например, посмотрите документацию на уникальный один-к-одному на основе первичного ключа

http://docs.jboss.org/hibernate/core/3.5/reference/en/html/mapping.html#mapping-declaration-onetoone

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

Обратите внимание на другой пример один на один, в этом случае генератор не назначен с одной стороны отношения.

Если у вас возникли проблемы с сохранением я предлагаю следующие 2 пунктов

  1. Запись интеграционного тесты только для DAO,. Если у вас нет DAO, создайте их, чтобы убедиться, что весь этот код находится в одном месте.
  2. Ознакомьтесь с примером кода и тестами, которые входят в спящий режим. Этот код довольно освещает.