Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将大写查询与JPA和QueryBuilder进行比较_Jpa_Uppercase - Fatal编程技术网

如何将大写查询与JPA和QueryBuilder进行比较

如何将大写查询与JPA和QueryBuilder进行比较,jpa,uppercase,Jpa,Uppercase,如何将大写字母与JPA QueryBuilder进行比较 SQL: 还有I add:searchName.toUpperCase()这里有一个解决方案: 公共列表getPersonsByUpperName(字符串搜索名称){ CriteriaBuilder cb=em.getCriteriaBuilder(); CriteriaQuery cq=cb.createQuery(Person.class); Root person=cq.from(person.class); Path name=p

如何将大写字母与JPA QueryBuilder进行比较

SQL:

还有I add:searchName.toUpperCase()

这里有一个解决方案:

公共列表getPersonsByUpperName(字符串搜索名称){
CriteriaBuilder cb=em.getCriteriaBuilder();
CriteriaQuery cq=cb.createQuery(Person.class);
Root person=cq.from(person.class);
Path name=person.get(“name”);//表列
cq.选择(人);
其中(cb.equal(cb.upper(name),cb.parameter(String.class,“nameport”));
TypedQuery q=em.createQuery(cq);
q、 setParameter(“nameUpper”,searchName.toUpperCase());;
返回q.getResultList();
}
这适用于任何输入字符串(Dimitri、Dimitri等),因为在方法内部执行大写转换:

  • 表列:
    cb.upper(名称)
  • 查询参数:
    searchName.toUpperCase()
我希望有帮助

SELECT * FROM PERSON WHERE UPPER(name) = ?