jpa – 不区分大小写的查询

前端之家收集整理的这篇文章主要介绍了jpa – 不区分大小写的查询前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一些票号可能有数字和字母混合.我将把ticketNumberIds传递给这个方法(用户输入),我希望它可以针对Oracle数据库进行查询,并且通过大小写的情况让查询的票据不同.

如何进行以下不区分大小写的查询

public List<TicketDO> getTicketDOsById(final List<String> ticketNumberIds) {

    String myQuery = "from TicketDO t where t.ticketNumberId in (:ticketNumberIds)";

    return getEntityManager().createQuery(myQuery).setParameter("ticketNumberIds",ticketNumberIds)
    .getResultList();

}

解决方法

您可以使用UPPER来执行不区分大小写的查询.
public List<TicketDO> getTicketDOsById(final List<String> ticketNumberIds) {

    String myQuery = "from TicketDO t where UPPER(t.ticketNumberId) in (:ticketNumberIds)";
    List<String> upperNumbers = new ArrayList<String>();
    for (String number : ticketNumberIds) {
        upperNumbers.add(number.toUppercase());
    }
    return getEntityManager().createQuery(myQuery).setParameter("ticketNumberIds",upperNumbers)
    .getResultList();

}
原文链接:https://www.f2er.com/java/126032.html

猜你在找的Java相关文章