How to store EnumSet in the DB (using Hibernate)?
@Entity
public class A
{
public static enum SOM开发者_开发问答E_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!
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
精彩评论