我正在通过Hibernate(注释)使用Postgres,但似乎已经无法处理User对象了:
12:09:16,442 ERROR [SchemaExport] Unsuccessful: create table User (id bigserial not null, password varchar(255), username varchar(255), primary key (id)) 12:09:16,442 ERROR [SchemaExport] ERROR: syntax error at or near "User"
如果我手动运行SQL,则必须在表名两边加上引号,因为用户似乎是postgres关键字,但是如何说服hibernate自己做呢?
提前致谢。
使用保留关键字时,需要转义表名。在JPA 1.0中,没有标准化的方法,而Hibernate特定的解决方案是使用反引号:
@Entity @Table(name="`User`") public class User { ... }
在JPA 2.0中,标准化语法如下所示:
@Entity @Table(name="\"User\"") public class User { ... }