是否有任何约定如何命名参数JPQL
?因为今天经过一些调试后,我意识到我不能将名称放入例如冒号。
我还发现了第二个问题,由于某种原因,我不能使用使用常量作为参数名称。我总会得到一个
org.hibernate.hql.ast.HqlSqlWalker.lookupProperty(HqlSqlWalker.java:466)
这是我的代码
@NamedQueries({
@NamedQuery(
name=Lookup.GET_LOOKUP_DATA_QUERY,
query="SELECT t.textShort, lookup.metaCode, lookup.tableName FROM Lookup lookup, Txt t" +
" WHERE (lookup.metaCode = t.txtHeadCode OR t.txtHeadCode IS NULL) AND lookup.module.id =:" + Lookup.PARAM_MODULE_ID +
" AND lookup.metaCode IN (:" + Lookup.PARAM_LOOKUP_META_CODES + ") AND t.lang.metaCode = 'lang_cz'")
})
@Entity
@Table(name = "TABLE")
public class Lookup {
private static final long serialVersionUID = 1L;
public static final String GET_LOOKUP_DATA_QUERY = "Lookup.GetLookupDataQuery";
public static final String PARAM_MODULE_ID = "Lookup.PARAM_MODULE_ID";
public static final String PARAM_LOOKUP_META_CODES = "Lookup.PARAM_LOOKUP_META_CODES";
@Id
@Column(name ="META_CODE")
private String metaCode;
@Column(name = "ID")
private Long id;
@ManyToOne
@JoinColumn(name="MODULE_ID")
private Module module;
}
+ getter、setter 和其他属性
提供者是Hibernate
,但查询是纯编写的JPA
那么有谁知道如何解决这个问题?