Java 使用Hibernate和Postgresql实现SQLGrammarException
我正在使用hibernate和Postgresql做一个演示项目。但我现在有个奇怪的例外。 我有两个简单的表,其中一个被另一个引用。以下是create语句:Java 使用Hibernate和Postgresql实现SQLGrammarException,java,sql,hibernate,postgresql,Java,Sql,Hibernate,Postgresql,我正在使用hibernate和Postgresql做一个演示项目。但我现在有个奇怪的例外。 我有两个简单的表,其中一个被另一个引用。以下是create语句: CREATE TABLE minishopping_schema.Category ( id SERIAL PRIMARY KEY, name VARCHAR(20) NOT NULL UNIQUE, descrip TEXT NOT NULL,
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
)
当我试图将一条记录插入我收到的Product表时
Hibernate: insert into minishopping_schema.product (cid, name, sku, price) values (?, ?, ?, ?)
org.hibernate.exception.SQLGrammarException: could not insert: [DBModel.Product]
Hibernate生成了一个
产品(类别、名称、天空、价格)
的对象,我在插入之前检查了每个属性是否合法。我可以在sql编辑器中成功地将元组插入到表中。有人能帮忙吗?我发现了问题。Hibernate不支持类型“money”,尽管在执行Hibernate反向工程时,它将生成为double。这真的很烦人。您能为产品和类别发布Hibrate实体类吗?您能显示完整的异常吗?Hibernate异常的stacktrace中一定有一些Postgres异常(包括真正的错误消息)。您可能需要一个可延迟的外键。