class Item {
String name;
Integer price;
}
class Order {
List<Item> items;
String customerName;
}
interface OrderRepository extends JpaRepository<Order, Long>, QueryDslPredicateExecutor<Order> {
}
之后,我有了一个控制器,它自动将参数绑定到谓词,如下所示:
@RestController
@RequestMapping(path = "/orders")
class OrderController {
@RequestMapping(method = RequestMethod.GET)
List<Order> list(@QuerydslPredicate Predicate predicate) {
return orderRepository.findAll(predicate);
}
}
因此,我可以使用如下所示的特定过滤器从存储库查询order:curl-xget http://localhost/orders?customername=John
问题是我无法过滤列表中的值。我也尝试http://localhost/orders?items.name=bag
,但得到nullpointerexception
java.lang.NullPointerException
at org.springframework.util.ReflectionUtils.getField(ReflectionUtils.java:143) ~[spring-core-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.data.querydsl.binding.QuerydslPredicateBuilder.reifyPath(QuerydslPredicateBuilder.java:185) ~[spring-data-commons-1.11.4.RELEASE.jar:?]
...
注意:我使用spring boot 1.3.4和querydsl-jpa 3.7.4
谢了。
这实际上是一个双重错误。对于该特定场景,我们对点名的转换是错误的,即使您定义了如下所示的自定义绑定:
bindings.bind(user.addresses.any().street).as("alias").first(…);
这将是一个解决方案,以解决我们无法处理收集路径遍历开箱即用的问题。
我已经为您提交了数据MNS-883,以解决这两个问题:
我试图通过值过滤我的Json中的一个数组与Jsonpath。我想在下面的JSON中获得国家的long_name。为了做到这一点,我通过类型[0]==“国家”过滤adress_components,但它似乎不起作用。 我试过的JsonPath: 我想要的结果是:“加拿大”。 JSON: 谢谢你的帮助。
问题内容: 我使用Vlad Mihalcea的库来将SQL数组(在我的情况下为Postgresql)映射到JPA。然后,假设我有一个实体,例如。 适当的SQL是: 使用QueryDSL,我想获取包含所有给定标签的行。原始SQL可能是: (摘自:https : //www.postgresql.org/docs/9.1/static/functions- array.html ) 可以用QueryD
我刚刚过滤了一些数据,现在我有一个。csv文件,但我注意到我只需要选择具有最低价格的行: 例子: 在这个例子中,我只想得到第三行和第六行: 使用python,如何获得最终的表?
我尝试过滤,以获得值从订阅号内*...ou.subscriber具有扩展的dinfo[SOURCE_OR_TARGET=="目标"],但我的jsonpath它不工作。 我尝试的jsonpath: 结果,我想得到这个subscriberNumber=“001” JSON: 谢谢你的帮助。
我有这个在重复播放 来自网站数组的每个网站对象如下所示: 问题:如何将过滤器应用于上述循环,使其仅显示属性为空数组的元素? 我尝试过的事情: (控制台中没有错误,但会过滤掉所有内容) (与我想要的相反,只显示组不是空数组的项目) (如果我用null代替[]来表示没有值,这是可行的,但看起来真的很混乱……因为我需要经常注意组属性变为空,并手动将其设置为null)
我有这样的矩阵: 我需要在最后一列中过滤它tp get value 1。所以结果应该是这样的: 我的当前代码是: 我的代码返回一个空数组。我一定错过了什么...