我的实体类
@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;
}
我的JPA查询
SELECT t.code, t.desc FROM MasterStccycode t
然后我有以下异常
异常[EclipseLink-4002](Eclipse Persistence Services - 2.3.0.v20110604-r9504):org.eclipse.persistence.exceptions.DatabaseException
内部异常:com.microsoft.sqlserver.jdbc.SQLServerException:关键字“DESC”附近的语法不正确。
错误代码:156
调用:从master_stccycode中选择CODE,DESC 查询:ReportQuery(referenceClass = MasterStccycode sql =“SELECT CODE,DESC from master_stccycode”)
我知道解决方案是将DESC
关键字与[]
一起打包到[DESC]
但是如何在JPA QL上执行此操作?
答案 0 :(得分:2)
DESC是大多数数据库的保留字。您应该重命名该字段。
您也可以引用该字段,但只需将其重命名即可。
@Column(name = "\"DESC\"")