在Hibernate中映射EnumSet

时间:2010-12-11 20:27:50

标签: hibernate enumset

如何在数据库中存储EnumSet(使用Hibernate)?

@Entity
public class A
{
 public static enum SOME_ENUM { A, B, C };

 private EnumSet<SOME_ENUM> myEnumSet = EnumSet.of(SOME_ENUM.A, SOME_ENUM.B);

 ...
 ...
}

如果我试图坚持上述内容,我当然会例外。 我想使用@CollectionOfElements,但它已被弃用。是否有@CollectionOfElements的替代方案?

有没有办法在不写UserType的情况下将EnumSet存储在单个列中?

谢谢!

1 个答案:

答案 0 :(得分:0)

hibernate没有内置支持这类东西。请注意,在处理hibernate和集合时,您应该只指定一个接口;在这种情况下设置。 Hibernate代理所有集合,因此它可以有效地处理延迟加载。

这并不是说这很难。请参阅此文档

https://forum.hibernate.org/viewtopic.php?p=2300843