Спящий режим, отображающий тип пользователя внутри карты - PullRequest
1 голос
/ 13 января 2012

Я столкнулся с проблемой, когда я не могу сохранить Map<UUID, Integer>, используя Hibernate. Я не уверен, как правильно аннотировать эту коллекцию так, чтобы она могла быть правильно отображена в нашей базе данных. Мы контролируем схему, поэтому в любом случае это будет хорошо. Нужно ли указывать, какой UserType ключ находится на моей карте? Нужен ли мне один? Я знаю, что аннотация типа используется для отдельных полей. Возможно, не коллекции? Я получаю следующее исключение по моему звонку на session.flush()

java.lang.ClassCastException: java.lang.String cannot be cast to java.util.UUID

@ElementCollection
@Type(type="org.hibernate.type.UUIDCharType")
private Map<UUID, Boolean> orderCount = new HashMap<UUID, Integer>();

1 Ответ

0 голосов
/ 13 января 2012

Полагаю, вам придется написать UserType для обработки Map<UUID, Boolean> .. Этот UserType должен затем использовать org.hibernate.type.UUIDCharType для сопоставления ключевого столбца.

...