该
@Table(""..."")结构是迫使JPA提供商使用你提供确切的值(即使用表名的大小写)。而且,它在PostgreSQL世界中很相似。如果调用
CREATETABLE并用引号指定表名,则它将使用您指定的确切名称创建表(不仅是大小写,还包括语义-通过这种方式,您甚至可以创建名为TABLE的表):
CREATE TABLE "TeSt" ( id int PRIMARY KEY NOT NULL )
将产生表 TeSt8 。
CREATE TABLE TeSt2 ( id int PRIMARY KEY NOT NULL )
将产生表 test2 。
因此,要查询“ TeSt”表,您将需要执行
SELECt * FROM "TeSt"( 不是
SELECt * FROM TeSt)。
因此,如果您创建一个表,则
CREATE TABLE "SAMPLE"需要指定该表
@Table(name=""SAMPLE"")才能正常工作。



