Hibernate定制Tuplizer,使用@Tuplizer注解
首先,第一步在Hinbernate实体上增加注解@Tuplizer,它有两参数
1.entityMode 默认pojo
2.impl 自己的Tuplizer实现类,填写完整的类名称 com.woaitech.WiPojoEntityTuplizer
其次,实现自己的Tuplizer,如下
public class WiPojoEntityTuplizer extends PojoEntityTuplizer {public WiPojoEntityTuplizer(EntityMetamodel entityMetamodel, PersistentClass mappedEntity) {
super(entityMetamodel, mappedEntity);
}
protected Getter buildPropertyGetter(Property mappedProperty, PersistentClass mappedEntity) {
return mappedProperty.getGetter( mappedEntity.getMappedClass() );
}
protected Setter buildPropertySetter(Property mappedProperty, PersistentClass mappedEntity) {
return mappedProperty.getSetter( mappedEntity.getMappedClass() );
}
}
上面的代码只是简单重写了PojoEntityTulizer的两个方法,他们的作用的是构建属性访问器。那么如果有需要就可以返回自己的属性访问器,来达到定制的目的。