使用Hibernate和Postgresql的SQLGrammarException

时间:2014-04-27 18:28:57

标签: java sql hibernate postgresql

我正在使用Postgresql的hibernate来做一个演示项目。但我现在得到奇怪的例外。 我有2个简单的表,其中一个由另一个引用。这是创建语句:

CREATE TABLE minishopping_schema.Category (
    id          SERIAL      PRIMARY KEY,
    name        VARCHAR(20) NOT NULL UNIQUE,
    descrip     TEXT        NOT NULL,
    products    INT         NOT NULL DEFAULT 0
);
CREATE TABLE minishopping_schema.Product (
    id          SERIAL      PRIMARY KEY,
    name        VARCHAR(20) NOT NULL,
    SKU         TEXT        NOT NULL UNIQUE,
    cid         INT         REFERENCES minishopping_schema.Category (id) NOT NULL,
    price       MONEY       NOT NULL
)

当我尝试将记录插入到我收到的产品表中时

Hibernate: insert into minishopping_schema.product (cid, name, sku, price) values (?, ?, ?, ?)
org.hibernate.exception.SQLGrammarException: could not insert: [DBModel.Product]

Hibernate生成了一个Product(category, name, sky, price)的对象,我在插入之前检查过每个属性都是合法的。我可以在sql编辑器中成功地将元组插入表中。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我发现了问题。 Hibernate不支持类型" money"虽然在进行Hibernate逆向工程时它会生成为double。真的很烦人。