当我试图用JPA/hibernate持久化一个名为"user"的实体时,它不起作用.表没有创建,这是因为用户是postgresql中的保留字.除了给桌子命名之外,还有什么别的方法可以让它工作吗?

推荐答案

要引用标识符,请使用反勾号:

@Table(name="`users`")

请参见Hibernate测试套件中的示例:

https://github.com/hibernate/hibernate-orm/blob/master/hibernate-core/src/test/java/org/hibernate/test/quote/User.java#L31

您将使用Hibernate自动检测并转换数据库的报价.

Postgresql相关问答推荐

Trunc函数不删除小数

无法从Docker迁移Golang上的两个不同服务到一个数据库'

为MCV扩展统计设置统计目标

Postgres 查询指向国外数据工作者的分区表比直接查询 fdw 慢很多倍

PostgreSQL:如何从另一列的 json 值替换为一列?

使用正则表达式计算 SQL 查询中 WHERE 过滤器的数量

无法从外部连接到在 AWS EC2 实例上运行的 Postgres

在 PostgreSQL 中 Select 数字命名列会返回 ?column?

postgres 的密码

安装 pg gem 失败,mkmf.rb 找不到 ruby​​ 的头文件(Mac OSX 10.6.5)

try 访问本地主机中的数据库时如何解决Error: The server does not support SSL connections?

INSERT RETURNING 是否保证以 right的顺序返回?

从 psycopg2 异常中获取错误消息

如何引用使用 ON CONFLICT 中的函数的唯一索引?

如何使用字符串作为 PostgreSQL 咨询锁的键?

在PostgreSQL中 Select 数组列的总和

返回 array_agg() 中的第一个元素

防止 CHARACTER VARYING 字段中出现空字符串

Array Push的 Postgres 数组追加和数组长度

SQL:子查询的列太多