Вложенность Embeddable и ElementCollectionJAVA

Программисты JAVA общаются здесь
Anonymous
Вложенность Embeddable и ElementCollection

Сообщение Anonymous »

У меня довольно типичный сценарий, где есть основной @Entity и все внутри него встраиваемое (поэтому все внутри не имеет смысла без родителя). Теперь JPA 2.0 не позволяет мне вложить @ElementCollection в @Embeddable, определенный в другой @ElementCollection:


JSR-317
2.6 Коллекции встраиваемых классов и базовых типов
Встраиваемый класс (включая встраиваемый класс внутри другого встраиваемого класса), содержащийся в коллекции элементов, не должен содержать коллекцию элементов и не может содержать связь с сущностью, отличной от отношение «многие к одному» или «один к одному»


Теперь вопрос: почему это так? Простой пример:

Код: Выделить всё

@Entity
public class Tournament {
@Id
Long id;

@ElementCollection
@CollectionTable
private List;
}

@Embeddable
public class Edition {

@ElementCollection
@CollectionTable
private List
}

@Embeddable
public class Round {

blabla;
}
В чем проблема? Это всего лишь пример: вы можете определить Round и Edition как Entity и решить проблему, но в моем случае по ряду причин мне нужно обеспечить, чтобы что-то очень вложенное не имело смысла без его родителя.
Почему JPA 2.0 должен запрещать мне это делать?

Подробнее здесь: https://stackoverflow.com/questions/221 ... on-nesting

Вернуться в «JAVA»