【问题标题】:JPA entity expression evaluatorJPA 实体表达式求值器
【发布时间】:2021-05-24 22:12:17
【问题描述】:

是否有可能在没有活动实体管理器的情况下评估 JPA 实体是否使用任何库或 Hibernate 满足 JPQL/RSQL 表达式?

例如:

SampleEntity entity = ...;
boolean evaluationResult = new Criteria("id=gt=1").test(entity);

【问题讨论】:

    标签: java hibernate jpa jpql


    【解决方案1】:

    你可以只使用这个库:https://github.com/turkraft/spring-filter

    它将让您运行搜索查询,例如:

    /search?filter= 平均(收视率)> 4.5 brand.name in (“奥迪”、“路虎”)(年> 2018 公里 50000) 和颜色 : '白色' 意外是空的

    即使您没有 API,您也可以运行搜索查询,该库基本上会将搜索输入编译为 JPA 谓词。

    【讨论】:

      【解决方案2】:

      Blaze-Expression 是一个库,它实现类似于 JPQL 的语法并支持表达式评估/解释,以及序列化到 Blaze-Persistence 查询构建器。

      查看示例:https://github.com/Blazebit/blaze-expression/blob/master/declarative/persistence/src/test/java/com/blazebit/expression/declarative/persistence/ModelTest.java

      【讨论】:

        猜你喜欢
        • 2018-10-16
        • 2013-09-13
        • 1970-01-01
        • 2014-08-28
        • 2023-03-28
        • 2015-09-02
        • 1970-01-01
        • 1970-01-01
        • 2023-04-10
        相关资源
        最近更新 更多