当前位置: 首页 > 面试题库 >

在JPA中使用保留的JPQL关键字

朱季
2023-03-14
问题内容

我有一个名为“ Group”的实体类,NetBeans警告我“实体表名称是保留的Java Persistence QL关键字”。

类似的情况是使用保留的SQL关键字。

这个名字会被转义吗?使用其他表名可以解决@Table(name =“ otherName”)的问题。还是应该重命名课程?


问题答案:

这个名字会被转义吗?

没有 在JPA规范是这么说的,如果您的提供商做,这是供应商特定的。

使用其他表名是否可以解决@Table(name =“ otherName”)的问题

显然,它会(只要您当然不使用其他保留关键字)。但是,如果您使用的是JPA 2.0提供程序,则有一种标准的方法可以使数据库对象名称转义,并用双引号引起来:

@Table(name="\"Group\"")

在JPA 1.0中,没有任何标准,它取决于您的JPA提供程序。例如,Hibernate使用反引号:

@Table(name="`Group`")

还是应该重命名课程?

否。实体的表名默认为实体名,但是您可以使用@Table我们看到的注释来控制它。因此,无需更改您的实体的类名称。



 类似资料:
  • 问题内容: 保留哪些JavaScript关键字(函数名称,变量等)? 问题答案: 其中包含JavaScript中所有保留的关键字,专门针对那些当下保持诚实,而不仅仅是尝试得分的人:

  • 问题内容: 枚举大小写是否可以使用保留关键字? 例如: 在其他语言中,这可以通过以某种方式转义关键字来实现,例如在scala中,我们使用反引号,例如 尽管是保留关键字,但仍可以用作标识符。 迅速有类似的东西吗? 问题答案: 从《 Swift语言指南》(“ 命名常量和变量”部分) 如果需要为常量或变量提供与保留的Swift关键字相同的名称,则在使用该关键字作为名称时,请在关键字前后加上反斜线(`)。

  • 问题内容: 我试图在使用UUID作为主键的PostgreSQL中保留一个实体。我尝试将其持久保存为普通的UUID: 有了以上,我得到这个错误: 我也尝试将UUID保留为byte []无济于事: 如果删除@Lob,我得到的错误与上面发布的错误相同。但是使用@Lob时,错误会稍微更改为: 无法完成如此简单的操作,我感到非常难过! 我正在将Hibernate 4.1.3.Final与PostgreSQL

  • 问题内容: 我有一些正在使用Gson反序列化的JSON。 我的问题是这是Java关键字,那么我该如何在类中创建与JSON中的字段相关的字段? 问题答案: 您可以使用gson的字段命名支持为字段使用其他名称。

  • 保留字是 Python 语言中一些已经被赋予特定意义的单词,这就要求开发者在开发程序时,不能用这些保留字作为标识符给变量、函数、类、模板以及其他对象命名。 Python 包含的保留字可以执行如下命令进行查看: >>> import keyword >>> keyword.kwlist ['False', 'None', 'True', 'and', 'as', 'assert', 'break',

  • 我的实体类 调用:SELECT CODE,DESC FROM master_stccycode查询:ReportQuery(referenceClass=masterstccycode sql=“SELECT CODE,DESC FROM master_stccycode”) 我知道解决方案是将关键字与包装成,但是如何在JPA QL上做到这一点呢?