java - 我正在尝试从休眠迁移到 JPA,并遇到了 Restrictions.ilike 的休眠标准。如何将其转换为 JPA?
问题描述
无论如何在不使用hibernate的情况下将下面的代码转换为JPA?我一直在环顾四周,但什么也没想到。提前致谢!
deCrit.add(Restrictions.ilike(fieldName, fieldValue, MatchMode.ANYWHERE));
解决方案
因此您将拥有一个 jpa 标准对象,您可以在该对象上调用传递谓词数组的 where 方法。类似于
String fieldValue = "search terms";
CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
CriteriaQuery<AType> criteriaQuery = criteriaBuilder.createQuery(AType.class);
Root<AType> somePath = criteriaQuery.from(AType.class);
criteriaQuery.where(criteriaBuilder.like(criteriaBuilder.upper(somePath.get("fieldName")),
"%" + fieldValue.toUpperCase() + "%"));
List<AType> result = entityManager.createQuery(criteriaQuery).getResultList();
推荐阅读
- laravel - 构建 JavaScript 时缺少模块
- python-3.x - 使用 Pyro4 使用 docker-compose 连接单独容器中的 python 脚本
- mongodb - 如果日期在 mongodb 中为 ISODate 格式,如何使用 $gte 和 <e mongo 运算符
- python - 在没有互联网访问的情况下安装 pythonnet
- html - 使用溢出内容时的弹性高度问题
- vb.net - 'Public Shared Sub Main()' 有多个具有相同签名的定义。”在 Visual Studio 中运行 Windows 服务时
- javascript - 我想通过另一个数组中的 id 过滤出一个对象数组
- curl - 如何使用 curl 命令登录 HashiCorp Vault
- jquery - 我想通过类名使用 jquery 或 javascript 更改 Div 顺序
- reactjs - React Synthetic Event:如果按下 Enter 键,如何捕获?