一尘不染

在PostgreSQL休眠中无法使用名为“用户”的表

hibernate

当我尝试通过JPA /
hibernate持久保存一个名为“用户”的实体时,它将无法正常工作。该表未创建,原因是用户是postgresql中的保留字。除了给表命名以外,还有其他方法可以使此工作吗?


阅读 198

收藏
2020-06-20

共1个答案

一尘不染

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

@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将自动检测它并将其转换为您正在使用的数据库的适当报价。

2020-06-20