Hibernate中的映射枚举集

Hibernate中的映射枚举集,hibernate,enumset,Hibernate,Enumset,如何在数据库中存储EnumSet(使用Hibernate) @实体 公共A类 { 公共静态枚举SOME_enum{A,B,C}; 私有EnumSet myEnumSet=EnumSet.of(一些枚举A,一些枚举B); ... ... } 如果我试图坚持以上观点,我当然会有例外。 我想使用@CollectionFelments,但不推荐使用。是否有@CollectionFements的替代方案 有没有一种方法可以将EnumSet存储在一列中而不写入UserType 谢谢 hibernate没有

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

@实体
公共A类
{
公共静态枚举SOME_enum{A,B,C};
私有EnumSet myEnumSet=EnumSet.of(一些枚举A,一些枚举B);
...
...
}
如果我试图坚持以上观点,我当然会有例外。 我想使用@CollectionFelments,但不推荐使用。是否有@CollectionFements的替代方案

有没有一种方法可以将EnumSet存储在一列中而不写入UserType


谢谢

hibernate没有内置的对这些东西的支持。请注意,在处理hibernate和集合时,实际上应该只指定一个接口;在这种情况下,设置。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);

 ...
 ...
}