问题
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