CREATE TABLE band (
length DECIMAL(6, 3) PRIMARY KEY NOT NULL,
resolution DECIMAL(4, 1) NOT NULL
);
我在 PostgreSql 数据库中定义了此表,我正在使用 JPA 用于我的应用程序。我应该在与Length
相对应的对象的属性中使用哪种数据类型?我尝试使用double
,但我有以下错误:
由:org.hibernate.tool.schema.schema.schema.schemamanagementexception:架构 - 验证:错误的列类型:在表[band]中列[长度]中遇到的列类型错误;找到[数字(类型#numeric)],但期望[float8(types#double)]
java.math.BigDecimal
从这里
double
在许多JPA提供商中完全可以绘制到十进制。但是float
也是如此。BigDecimal
是另一个选择。
如果有问题,我建议您在JPA提供商中提出错误,或在JPA @Column
注释中定义" columndefinition"信息