我遇到了一个问题,即无法使用Hibernate持久保存Map<UUID, Integer>
。我不确定如何正确地注释这个集合,以便它可以正确地映射到我们的数据库中。我们控制架构,所以任何方式都可以。我需要以某种方式指定密钥在我的地图中的用户类型吗?我需要一个吗?我知道Type注释用于单个字段。也许不是收藏品?我打电话给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>();
答案 0 :(得分:0)
我相信你必须写一个UserType
来处理Map<UUID, Boolean>
..然后UserType
应使用org.hibernate.type.UUIDCharType
来映射关键列。