PostgreSQL遵循SQL标准,在这种情况下,这意味着标识符(表名,列名等)被强制小写,除非用引号引起来。因此,当您创建这样的表时:
CREATE TABLE APP_USER ...
你实际上得到一张桌子
app_user。您显然做到了:
CREATE TABLE "APP_USER" ...
然后你得到一张桌子
"APP_USER"。
在Spring中,您以大写字母为表名指定一个常规字符串,但该字符串会拼接成对PostgreSQL服务器的查询,不带引号。您可以通过阅读PostgreSQL日志文件来检查它:它应该在消息的顶部显示Spring生成的查询,然后显示错误。
由于对Spring如何从实体构造查询的控制很少,因此最好使用SQL标准的小写标识符。



