休眠:对自定义字段映射器映射的字段进行脏检查

时间:2019-06-12 08:24:38

标签: java hibernate

我有一个自定义的休眠类型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。

0 个答案:

没有答案