当前位置: 首页 > 知识库问答 >
问题:

如何用SQL Server关键字处理JPA/JPQL

林和煦
2023-03-14

我的实体类

@Entity
class MasterStccycode{
   private static final long serialVersionUID = 1L;
   @Id
   @Basic(optional = false)
   @NotNull
   @Size(min = 1, max = 3)
   @Column(name = "CODE")
   private String code;

   @Size(max = 100)
   @Column(name = "DESC")
   private String desc;
}

调用:SELECT CODE,DESC FROM master_stccycode查询:ReportQuery(referenceClass=masterstccycode sql=“SELECT CODE,DESC FROM master_stccycode”)

我知道解决方案是将DESC关键字与[]包装成[DESC],但是如何在JPA QL上做到这一点呢?

共有1个答案

郑宏朗
2023-03-14

在大多数数据库中,DESC是一个保留字。您应该重命名字段。

您也可以引用该字段,但只重命名它是最好的。

@Column(name = "\"DESC\"")
 类似资料:
  • <代码>findByPointsBetween(整数下限,整数上限) 大于等于<代码>下限 我想写下限制

  • 问题内容: 我的其中一列称为。我无法更改名称,因为我没有做到。我是否可以做类似的事情,或者是否有特殊的语法来避免SQL Server混淆? 问题答案: 像这样将列名称括在方括号中,成为[from]。 也可以使用以下命令(在查询多个表时很有用):

  • 问题内容: 我想要具有来自同一数据条目的版本。换句话说,我想用另一个版本号复制该条目。 将是主键。 实体看起来如何?如何将其复制到另一个版本? 问题答案: 你可以制作一个,其中包含两个键,然后像中一样引用该类Entity。 你将需要和注释。 完成此任务的另一种方法是使用@IdClass批注,然后将两者都id放在该批注中IdClass。现在你可以@Id在两个属性上使用普通注释

  • 实体应该是什么样子的?我如何用另一个版本复制它?

  • 本文向大家介绍Java异常处理的五个关键字,包括了Java异常处理的五个关键字的使用技巧和注意事项,需要的朋友参考一下 异常:异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的。 异常处理关键字:try、catch、finally、throw、throws 注意事项: 错误不是异常,而是脱离程序员控制的问题。 所有的异常类是从 java.lang.Exception

  • 问题内容: 我有一个名为“ Group”的实体类,NetBeans警告我“实体表名称是保留的Java Persistence QL关键字”。 类似的情况是使用保留的SQL关键字。 这个名字会被转义吗?使用其他表名可以解决@Table(name =“ otherName”)的问题。还是应该重命名课程? 问题答案: 这个名字会被转义吗? 有 没有 在JPA规范是这么说的,如果您的提供商做,这是供应商特