使用querydsl查询集合时出现ExceptionInInitializerError

时间:2010-06-24 13:35:50

标签: java querydsl

执行以下代码时,执行查询/投影时会出现异常。有人知道我做错了什么吗?所有人都非常感谢。

Data lt = alias(Data.class,"Data");

for(String location: from ($(lt),Arrays.asList(allData.toArray())).list($(lt.getData()))){
    System.out.println(location);
}

我得到的例外情况如下:

  

线程“main”java.lang.ExceptionInInitializerError中的异常       在com.mysema.query.collections.MiniApi。(MiniApi.java:22)......等。

     

引起:java.lang.NullPointerException       在com.mysema.codegen.EvaluatorFactory。(EvaluatorFactory.java:51)       在com.mysema.query.collections.ExprEvaluatorFactory。(ExprEvaluatorFactory.java:55)       在com.mysema.query.collections.ExprEvaluatorFactory。(ExprEvaluatorFactory.java:50)       在com.mysema.query.collections.ExprEvaluatorFactory。(ExprEvaluatorFactory.java:32)       ......还有4个

1 个答案:

答案 0 :(得分:2)

确保Data类具有空构造函数。我目前正在度假,并没有进一步调查堆栈跟踪的来源,但添加空构造函数将是我的第一件事。

Querydsl的别名功能会生成动态子类,对于没有空的非私有构造函数的类,这会失败。