【发布时间】:2012-04-11 11:24:23
【问题描述】:
在 JPA / hibernate 中是否可以有以下集合映射
@OneToMany(cascade={CascadeType.PERSIST, CascadeType.REFRESH, CascadeType.MERGE},
fetch=FetchType.LAZY,mappedBy="parent")
private Deque<Child> childrens;
报错
Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements
我正在使用 JPA 2.0 和 Hibernate 3
【问题讨论】:
-
为什么要在 JPA 对象中加入队列?我很惊讶 Hibernate 不支持 Deque,因为它是 Collection 的扩展,但你几乎可以肯定可以用 List 做任何你想做的事情。
-
@mbaydar 那里的答案似乎表明这是因为他没有使用接口,这里不是这种情况 - Deque 是一个扩展 Collection、Iterable 和 Queue 的接口。
-
javalobby.org/java/forums/m91832311.html 是一个很好的例子,说明如何使您自己的集合类型可用于 Hibernate。很可能您可以调整它以与 Deque 一起使用。