【问题标题】:Criteria Builder Convert Lower标准生成器转换较低
【发布时间】:2015-07-30 05:55:36
【问题描述】:

我有以下谓词条件

  predicate = 
  cb.like(root.get(Product_.prodName),prod.getProductName());

上面看lower怎么用,我试过了

predicate = 
cb.like(cb.lower(root.get(Product_.prodName), prod.getProdName());

但是它给了我以下错误

method lower(javax.persistence.criteria.Path<java.lang.String>,
java.lang.String) not found in interface 
javax.persistence.criteria.CriteriaBuilder

转换为lower的正确方法是什么?

【问题讨论】:

  • 您使用的是哪个版本的休眠?并且您想使用忽略大小写或小写进行搜索?
  • @TheCodingFrog 我正在使用 EclipseLink 2.5.2
  • 您发布的代码由于其他原因无法编译:它缺少括号。您在实际代码上遇到的错误似乎也是由放错位置的括号引起的。贴出实际代码。

标签: java jpa eclipselink criteria-api


【解决方案1】:

把代码改成

predicate = 
    criteriaBuilder.like(criteriaBuilder.lower(root.get(Product_.prodName)), 
                         wrapper.getProdName());

【讨论】:

    猜你喜欢
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多