java - 为 H2 设置默认的小数精度和小数位数
问题描述
我有一个项目,Hibernate 为 H2 数据库生成模式:
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
默认情况下,对于十进制列,它设置精度和比例Decimal(19,2)
,但我需要比例为 5,例如Decimal(19, 5)
.
我可以通过注释参数更改它:
@Column(name = "amount", precision = 19, scale = 5)
但是有没有办法将比例默认设置为 5(在 Hibernate/H2 配置中),所以不需要为每一列显式设置比例?
解决方案
不,没有,默认编码为org.hibernate.mapping.Column
.
如果你真的想通过覆盖来覆盖它,你可以尝试覆盖它org.hibernate.dialect.Dialect#getTypeName(int, long, int, int)
。