jpa openjpa - 用演员命令

时间:2015-01-08 12:04:40

标签: java sql jpa jpql openjpa

我正在使用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

1 个答案:

答案 0 :(得分:0)

使用它:

SELECT x from Book x order by cast(x.triesErrAsInt as int) asc