PostgreSQL似乎不允许创建名为“ user”的数据库表。但是MySQL将允许创建这样的表。
那是因为这是一个关键词吗?但是Hibernate无法识别任何问题(即使我们设置了PostgreSQLDialect)。
user 是保留字,通常不建议使用保留字作为标识符(表,列)。
user
如果您坚持要这样做,则必须将表名放在双引号中:
create table "user" (...);
但是,在引用表时,您 总是 需要使用双引号。此外,表名区分大小写。"user"与的表名称不同"User"。
"user"
"User"
如果您想节省很多麻烦,请使用其他名称。users,user_account,…
users
user_account
可以在手册中找到有关带引号的标识符的更多详细信息:http : //www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX- IDENTIFIERS