首页 > 解决方案 > JPA - 重用来自不同类的规范

问题描述

假设我以这种方式定义了 2 个类

class A{
    private String name;
}

class B{
    private A a;
    private String bla;
}

并且还有 A 和 B 的谓词,像这样

public static Specification<A> hasName(String name) {
        return (a, cq, cb) -> {
            return cb.and(a.get("name").in(name));
        };
    }

public static Specification<B> hasBla(String bla) {
        return (b, cq, cb) -> {
            return cb.and(b.get("bla").in(bla));
        };
    }

既然两个谓词都用于不同的类,有没有办法在同一个查询中同时使用这两个谓词?例如,获取具有匹配名称和 bla 的元素

标签: javaspringspring-data-jpajpa-criteria

解决方案


推荐阅读