微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JPA 实体表达式评估器

如何解决JPA 实体表达式评估器

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

例如:

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

解决方法

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

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

/search?filter= average(评分)> 4.5 brand.name ('奥迪'、'路虎')(年份> 2018公里 50000)和颜色“白色”事故为空

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

,

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。