В чем разница между различными типами отображения в Hibernate? - PullRequest
4 голосов
/ 14 февраля 2009

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

Не могли бы вы объяснить различия между «Сопоставлением коллекций», «Сопоставлением сопоставлений» и «Сопоставлением компонентов» в соответствии с документом Hibernate? Примеры того, когда лучше всего использовать, какое отображение будет оценено.

PS. Я не знаю, если это слишком общий вопрос, чтобы задать здесь. Если вы так думаете, извините, что потратили время впустую. Любые предложения по хорошему общему тексту или веб-сайту также будут хорошими.

Спасибо !!

1 Ответ

7 голосов
/ 14 февраля 2009
  • Под отображением коллекции понимается отношение один-ко-многим или многие-ко-многим, которое будет отображаться с использованием реализации java.util.Collection.

  • Сопоставление связей относится к отношениям «многие к одному» или «один к одному», которые будут отображаться с использованием другого класса, который вы отобразили в Hibernate (также называемого «сущностью»). Связанный объект имеет свой жизненный цикл и просто связан с первым объектом.

  • Отображение компонента относится к отображению класса (или коллекции классов), жизненный цикл которого тесно связан с родителем. Это также называется «композицией» в строгом определении слова в объектно-ориентированном программировании. В основном, если вы удаляете родительский объект, дочерний объект также должен быть удален; он также не может существовать сам по себе без родителя.

...