我正在使用jpa和openjpa,我的表有varchar,表示为对象中的int。
专栏:" TRIES_ERR" (VARCHAR)
实体:
public class Book implements Serializable{
int triesErrAsInt;
String eMail
@Column(name="TRIES_ERR")
public int getTriesErrAsInt() {
return triesErrAsInt;
}
public void setTriesErrAsInt(int triesErrAsInt) {
this.triesErrAsInt = triesErrAsInt;
}
@Column(name="EMAIL")
public String getEMail() {
return eMail;
}
public void setEMail(String string) {
eMail = string;
}
}
我尝试编写一个按TRIES_ERR
排序的查询,但是int
而不是varchar
。
我必须使用jpql(而不是本机查询)
这是我尝试但没有工作的查询:
SELECT x
FROM Book x
ORDER BY x.triesErrAsInt ASC
返回的行按varchar排序,而不是整数
我得到结果:12,13,14,2,3而不是2,3,12,13,14
答案 0 :(得分:0)
使用它:
SELECT x from Book x order by cast(x.triesErrAsInt as int) asc