Mapping EnumSet in Hibernate

左心房为你撑大大i 提交于 2019-12-07 18:40:20

问题


How to store EnumSet in the DB (using 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);

 ...
 ...
}

If I try to persist the above, I get exception of course. I wanted to use @CollectionOfElements, but it is deprecated. Is there any alternative of @CollectionOfElements?

Is there a way to store EnumSet in a single column without writing UserType?

Thanks!


回答1:


hibernate does not have built in support for such things. Note that when dealing with hibernate and collections you should really only be specifying an interface; in this case Set. Hibernate proxies all collections so it can efficiently deal with lazy loading.

This is not to say this is difficult. See this documentation

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



来源:https://stackoverflow.com/questions/4418786/mapping-enumset-in-hibernate

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!