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!
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://stackoverflow.com/questions/4418786/mapping-enumset-in-hibernate