【问题标题】:How to model a Predicate w/ BooleanBuilder (QueryDSL) an optional OnetoOne JPA/Hibernate relationship?如何使用 BooleanBuilder (QueryDSL) 为可选的 OnetoOne JPA/Hibernate 关系建模谓词?
【发布时间】:2021-11-22 16:36:01
【问题描述】:

我正在尝试为以下实体关系构建布尔谓词:

有一张员工表,其中一些员工可能是经理。

Employee.java:

private int empId;

@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name="EMPID", referencedColumnName = "MANAGER_EMPID", insertable = false, updatable = false)
@NotFound(action= NotFoundAction.IGNORE)  //Not everyone is a manager
private Manager manager;

那么我只想返回那些是经理的员工。

我已经尝试过:

BooleanBuilder builder = new BooleanBuilder();
QEmployee qEmployee = QEmployee.employee;

builder.and(qEmployee.manager.isNotNull());
// as well as:
// builder.and(qEmployee.manager.managerId.isNotNull());

两者都不起作用,因为这两种尝试最终都不会修改正在使用的 JPA/Hibernate 查询。

我如何使用 QuerySQL 和 BooleanBuilder 只返回那些是经理的员工?

【问题讨论】:

    标签: java jpa predicate


    【解决方案1】:

    希望这能让您有一个清晰的认识。看这里https://www.baeldung.com/querydsl-with-jpa-tutorial

    【讨论】:

    • 基本 Querydsl 的良好链接,但不包括 Predicates/BooleanBuilder。
    猜你喜欢
    • 2020-12-01
    • 2016-07-12
    • 2016-08-04
    • 2018-04-06
    • 2021-05-22
    • 2015-08-18
    • 2020-09-23
    • 2023-03-12
    • 2019-05-24
    相关资源
    最近更新 更多