什么是Java数据类型与JPA中的postgreSQL的DECIMAL相对应?

时间:2017-09-06 17:19:37

标签: postgresql jpa orm

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)]

2 个答案:

答案 0 :(得分:4)

java.math.BigDecimal

来自here

答案 1 :(得分:1)

在许多JPA提供程序中,

double完全可以映射到DECIMAL。但是float也是如此。 BigDecimal是另一种选择。

如果遇到问题我建议您在JPA提供程序中引发错误,或者定义" columnDefinition" JPA @Column注释

中的信息