Hibernate标准将 Projections.avg(“列”)映射到 Double 。
如何强制Hibernate将该功能映射到 BigDecimal ?
Hibernate hibernate-core-4.1.9.Final.jar
答案 0 :(得分:2)
应该可以继承AvgProjection
覆盖getTypes
以返回BigDecimal并改为使用此投影。
即
public class AvgBDProjection extends AvgProjection{
public AvgBDProjection(String propertyName) {
super(propertyName);
}
public Type[] getTypes(Criteria criteria, CriteriaQuery criteriaQuery)
throws HibernateException {
return new Type[] { org.hibernate.type.BigDecimalType.INSTANCE };
}
}