我有一个自定义的休眠类型stringSet
,该类型将LinkedHashSet
映射到以逗号分隔的String
。
// Property in Hibernate entity
@Type(type = "stringSet")
private Set<String> mySet = new LinkedHashSet<>();
这种类型的具体实现在package-info.java
// Type definition in package-info.java
@org.hibernate.annotations.TypeDef(name = "stringSet",
typeClass = StringSetFieldMapper.class)
并且StringSetFieldMapper
实现了接口org.hibernate.usertype.UserType
,因此此类被org.hibernate.type.CustomType
包装。
现在我注意到,脏检查机制在此字段上失败。似乎Hibernate不会将mySet字段视为一个Collection。
PS:我在JBoss EAP 6.2上使用Hibernate 4.2.7.SP1。