2010-12-11 3 views
3

Как хранить EnumSet в БД (используя Hibernate)?Отображение EnumSet в спящем режиме

@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); 

... 
... 
} 

Если я попытаюсь сохранить вышеуказанное, я получаю исключение, конечно. Я хотел использовать @CollectionOfElements, но он устарел. Есть ли альтернатива @CollectionOfElements?

Есть ли способ хранить EnumSet в одном столбце без записи UserType?

Спасибо!

ответ

0

hibernate не имеет встроенной поддержки для таких вещей. Обратите внимание, что при работе с спящим и коллекциями вы должны действительно указывать только интерфейс; в этом случае Set. Hibernate проксирует все коллекции, чтобы эффективно справляться с ленивой загрузкой.

Это не значит, что это сложно. См. Эту документацию

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

Смежные вопросы