JPA LOWER()函数无法使用create query

时间:2015-04-08 11:31:02

标签: java jpa

我有一个类似的查询: -

TypedQuery<peakdto> query= entityManager.createQuery("peak",peakdto);

这里

peak= "select LOWER(d.component) from peakdto d where d.peak= 'sar'";

这里的问题是LOWER()功能不起作用。 获得意外令牌LOWER等错误。

1 个答案:

答案 0 :(得分:0)

我不是百分百肯定,没有时间完整地阅读文档。 但像“LOWER”这样的字符串函数只能在查询的WHERE部分中使用。 在Select部分中没有任何意义,因为在Result set对象中很容易转换为小写。

例如,当您的JPA查询返回Pojo MyEntity时,您可以通过以下方式实现它:

public class MyEntity {
  private String value;

  public String getValue(){}
  public void setValue(String value) {}
  public String getValueLowerCase() {
    return value.toLowerCase();
  }
}