繁体   English   中英

如何使用JPA查询使不区分大小写的PostgreSQL

[英]How to make case insensitive PostgreSQL using JPA query

嗨,我是JPA Criteria构建器概念的新手,我使用PostgreSQL和JPA Query。我从护士那里获得了SELECT ID,全名,电子邮件的查询WHERE(较低(发送者)喜欢'%bar%'和Lower(接收者)喜欢'% bar%')。但是如何将其转换为“ JPA标准”构建器。

 entityManager.getTransaction().begin();
            CriteriaBuilder cb = entityManager.getCriteriaBuilder();
            System.out.println(entityManager + " Conected");
            CriteriaQuery<sourceTracking> cq = cb.createQuery(sourceTracking.class);
            Root<sourceTracking> data1 = cq.from(sourceTracking.class);
            cq.where(cb.like(data1.<String>get("sender"), "%"+sender+"%"),cb.like(data1.<String>get("receiver"), "%"+receiver+"%");
            cq.select(data1);
            TypedQuery<sourceTracking> tquery = entityManager.createQuery(cq);
            sourselList = tquery.getResultList();

CriteriaBuilder.lower()将做您想要的。

例如

cb.like(cb.lower(data1.get("sender")), "%" + sender + "%")

或者,也使您的模式变为小写:

cb.like(cb.lower(data1.get("sender")), cb.lower(cb.literal("%" + sender + "%")))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM