QueryDsl,使用Java或Groovy使方法级联NULL安全的优雅方法

时间:2013-04-22 13:05:01

标签: methods groovy nullpointerexception querydsl cascading

如果遍历级联方法时经常会遇到NPE,这些方法可能在某个地方很长。例如,我想查询客户的“称呼”属性..

     ConstructorExpression giftCE = ConstructorExpression.create(Gift,
            order.a.b.c.salutation
    )

a,b或c中的任何一个或全部可能为NULL,从而导致NPE。

在Java或Groovy中防范此类NPE的最佳“querydsl”是什么?

(我不确定Groovy的Elvis op是否在querydsl声明中涵盖了这种情况)

1 个答案:

答案 0 :(得分:0)

您可以使用字段访问者而不是最终字段。这样您就不会遇到NPE http://www.querydsl.com/static/querydsl/3.1.1/reference/html/ch03s04.html#d0e1713

我不确定你是否可以在Groovy中使用字段/属性语法,因为它们不是getter。

在你的情况下它会变成

ConstructorExpression giftCE = ConstructorExpression.create(Gift,
    order.a().b().c().salutation
)