如何将Java lambda谓词翻译成Postgres?

时间:2016-03-09 14:26:49

标签: java sql hibernate lambda

我想用以下API编写服务

List<Device> getDevices(Predicate<? super T> filter)

我想称之为:getDevices(device -> device.osNum > 4)

我的服务将查询SQL DB(显然是Postgres)。

是否有任何库将lambda表达式转换为Postgres(或其他)RDBMS中的查询?

如果我使用Hibernate,我应该获得所有设备(最多20个)并在该集合上运行lambda?

其他设计建议?

1 个答案:

答案 0 :(得分:2)

实际上有一个名为Jinq的库(Java Linq,我认为)可以执行类似于您想要的操作。它在内部的作用是分析从传递的lambda表达式生成的字节码。

他们网站上有一个不错的video