В чем разница между разными типами отображения в Hibernate?

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

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

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

Спасибо!!


person tomato    schedule 14.02.2009    source источник


Ответы (1)


  • Отображение коллекций относится к отношениям «один ко многим» или «многие ко многим», которые будут отображаться с помощью реализации java.util.Collection.

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

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

person cliff.meyers    schedule 14.02.2009