相关疑难解决方法(0)

具有多个参数的JPA Criteria API

我需要创建一个使用带有多个参数的JPA Criteria API的搜索方法.现在的问题是不是每个参数都是必需的.因此有些可能为null,并且它们不应包含在查询中.我已经用CriteriaBuilder尝试了这个,但我看不出如何让它工作.

使用Hibernate Criteria API,这非常简单.只需创建条件,然后添加限制.

Criteria criteria = session.createCriteria(someClass.class);
if(someClass.getName() != null) {
   criteria.add(Restrictions.like("name", someClass.getName());
}
Run Code Online (Sandbox Code Playgroud)

我怎么能用JPA的Criteria API实现同样的目标?

java jpa criteria-api

32
推荐指数
3
解决办法
8万
查看次数

如何通过组合表使用JpaSpecificationExecutor创建规范?

JpaSpecificationExecutor用于创建自定义查询.如何为以下SQL创建规范?

select * from employee e, address a where e.id=23415 and e.name="Deepak" and a.city="Leeds";
Run Code Online (Sandbox Code Playgroud)

Java类:

public static Specification<Employee> searchEmployee(final Map<String,String> myMap) {

    return new Specification<Employee>(){
        @Override
        public Predicate toPredicate(Root<Employee> root, CriteriaQuery<?> query, CriteriaBuilder cb) {

             //Need to query two tables Employee and Address  

           }
      }
Run Code Online (Sandbox Code Playgroud)

criteria-api jpa-2.0 spring-data spring-data-jpa

7
推荐指数
1
解决办法
9550
查看次数

标签 统计

criteria-api ×2

java ×1

jpa ×1

jpa-2.0 ×1

spring-data ×1

spring-data-jpa ×1