Java queryDsl查询中的类路径是否有限制?

Java queryDsl查询中的类路径是否有限制?,java,hibernate,querydsl,Java,Hibernate,Querydsl,我使用QueryDSL在我的java应用程序上构建谓词,似乎使用太大的类路径会创建NullPointerException。 你们有没有人有过这样的问题,或者这是正常的行为 例如,假设我有5个嵌套类(City->Area->House->Room->Bed),我想根据某个区域的id查询某张床是否属于某个区域。 因此,我将使用以下内容构建布尔表达式: 公共静态布尔表达式areaIdEquals(长areaId){ QBed bed=QBed.bed; 返回床.房间.房屋.面积.id.eq(面积id

我使用QueryDSL在我的java应用程序上构建谓词,似乎使用太大的类路径会创建NullPointerException。 你们有没有人有过这样的问题,或者这是正常的行为

例如,假设我有5个嵌套类(City->Area->House->Room->Bed),我想根据某个区域的id查询某张床是否属于某个区域。 因此,我将使用以下内容构建布尔表达式:

公共静态布尔表达式areaIdEquals(长areaId){
QBed bed=QBed.bed;
返回床.房间.房屋.面积.id.eq(面积id)
}
这会引发NullPointerException,因为显然,area总是空的

我只是想知道,对于这种查询,类路径大小有一个限制,这是否是常识,因为我发现路径的第四个元素总是空的,这很奇怪。我在文档中找不到关于它的任何信息。

我找到了解释它的方法

默认情况下,Querydsl仅初始化前两个级别的引用属性。如果需要更长的初始化路径,则必须通过com.querydsl.core.annotations.querynit annotations在域类型中对这些路径进行注释。QueryInit用于需要深度初始化的属性


我使用QueryInit测试了该解决方案,该解决方案可以正常工作。

我无法使其正常工作,在我将QueryInit设置为annot后,运行build,我仍然无法访问第四级嵌套对象。。