我已按照本教程来实现我的自定义集合。
我还注释了我的实体的相应属性,如下所示:
@OneToMany(cascade = ALL, mappedBy = "plan", fetch = EAGER, orphanRemoval = true)
@CollectionType(type = "my.namespace.MyCustomCollectionType")
public MyCustomCollection getThings() {
return things;
}
但是,在创建映射时,Hibernate 会抱怨:
Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements
根据Hibernate 文档,这应该没问题。我应该能够在方法签名中使用我的自定义集合,因为我使用了自定义集合类型注释:
实际的接口可能是 java.util.Set、java.util.Collection、java.util.List、java.util.Map、java.util.SortedSet、java.util.SortedMap 或任何你喜欢的东西(“任何你喜欢的东西”意味着您必须编写 org.hibernate.usertype.UserCollectionType 的实现)。
我不知道出了什么问题。