2009-10-19 5 views
1

В this JPA примера есть код:JPA один-ко-многим (вопрос отношение на один объект)

@OneToOne(cascade=CascadeType.ALL) 
private Deity mother; 

@OneToOne(cascade=CascadeType.ALL) 
private Deity father; 

@OneToMany(cascade=CascadeType.ALL) 
private Set<Deity> children; 

Почему отношения с отцом и матерью осуществляются @OneToOne аннотации, а не в @ManyToOne отношение? Если Ребенок и Родитель будут отдельные классы Родитель будет @OneToMany Collection<Child> children и Ребенок имеют @ManyToOne Parent parent. Это (божество) пример кажется разумным, но я ищу объяснение, почему это так.

Ссылки на спецификации JPA будут очень признательны.

ответ

1

Я думаю, что вы правы, это должно быть ManyToOne отношений.

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


Если вы ищете хорошие примеры настойчивости, я предлагаю документацию гибернации. Hibernate палки с JPA как можно больше.

Примечание: Вы можете переключить свой код в спящем режиме, или остаться с тем, что вы используете и использовать только свою документацию ...

+0

Ну, это пример из OpenJPA - http://svn.apache.org/repos/asf/openjpa/tags /1.2.0/openjpa-examples/src/main/java/relations/. Таким образом, этот пример плох или это отношения в одном случае. – cetnar

+0

@cetnar Вы задаете вопрос? – KLE

+0

Если этот пример неверен, мой вопрос недействителен, но если он правильный, я ищу объяснение, почему это так. – cetnar

1

Я не уверен, но пример на сайте может относиться к человеку у которого есть 1 мать и 1 отец (следовательно, уникальное отношение один к одному) и много детей (отношение один к другому).

Этот пример может быть просто для того, чтобы показать эти отношения.

PS: я действительно не уверен, но это то, что произошло со мной ..

Смежные вопросы