Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JPA实体类表名中向表名附加双引号?_Java_Mysql_Oracle_Jpa - Fatal编程技术网

Java 如何在JPA实体类表名中向表名附加双引号?

Java 如何在JPA实体类表名中向表名附加双引号?,java,mysql,oracle,jpa,Java,Mysql,Oracle,Jpa,我在OracleDB的模式“MYSCHEMA”下有一个表“test” select*from MYSCHEMA.“test”工作正常,但select*from MYSCHEMA.test会给出一个错误: 表或视图不存在 我试图使用JPA查询(JavaSpring应用程序)从这个表中获取数据 即使在表名周围使用双引号,JPA查询也会出现“表或视图不存在”错误。如何解决 我不应该编辑/重命名表名,因为表/db已经链接到一些现有的应用程序 你试过吗 @Entity @Table(name = "tes

我在OracleDB的模式“MYSCHEMA”下有一个表“test”

select*from MYSCHEMA.“test”工作正常,但select*from MYSCHEMA.test
会给出一个错误:

表或视图不存在

我试图使用JPA查询(JavaSpring应用程序)从这个表中获取数据

即使在表名周围使用双引号,JPA查询也会出现“表或视图不存在”错误。如何解决

我不应该编辑/重命名表名,因为表/db已经链接到一些现有的应用程序

你试过吗

@Entity
@Table(name = "test", schema = "MYSCHEMA")
public Class MyClass {
}

表名周围只有一个单引号

jpa提供了另一种引用表名的方法,它添加了` to,直到不转义双引号为止

@Entity
@Table(name = "`test`", schema = "MYSCHEMA")
public Class MyClass {
}

谢谢你的回复Nilesh Jadav。我尝试过在表名周围添加单引号,也尝试过不在表名中添加任何内容。它也给出了同样的错误。请阅读第8点和第9点,可能会对您有所帮助!一些JPA提供商(例如DataNucleus)会为您这样做,而另一些则坚持认为您必须自己处理。哪个JPA提供商是您的?它的EclipseLink Neil Stockton您可以在
持久化单元默认值中使用
分隔标识符
元素。当然,这将影响所有其他标识符,并可能导致其他问题。。。。
@Entity
@Table(name = "`test`", schema = "MYSCHEMA")
public Class MyClass {
}