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.spi.SchemaManagementException:模式验证:表[band]中的列[length]遇到错误的列类型;找到[numeric(Types#NUMERIC)],但期待[float8(Types#DOUBLE)]
答案 0 :(得分:4)
java.math.BigDecimal
来自here
答案 1 :(得分:1)
double
完全可以映射到DECIMAL。但是float
也是如此。 BigDecimal
是另一种选择。
如果遇到问题我建议您在JPA提供程序中引发错误,或者定义" columnDefinition" JPA @Column
注释