2010-06-24 3 views
2

При выполнении следующего кода я получаю исключение при выполнении запроса/проекции. Кто-нибудь знает, что я делаю неправильно? Вся помощь очень ценится.ExceptionInInitializerError при запросе коллекции с помощью querydsl

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

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

Исключение я получаю следующим образом:.

Исключение в потоке "основной" 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 более

+0

Не могли бы вы попробовать то же самое с последней версией Querydsl и указать ошибку, если она не исправлена. Данный стек-трафик связан с более старой версией Querydsl. –

ответ

2

Убедитесь, что класс Data имеет пустой конструктор. Я сейчас в отпуске и у меня нет источников для изучения stacktrace дальше, но добавление пустого конструктора было бы моим первым делом, чтобы попробовать.

Функция псевдонима Querydsl генерирует динамические подклассы, и это не выполняется для классов без пустого не-частного конструктора.

+0

Спасибо Тимо за ответ от пляжа! Living the Dream ..... К сожалению, я уже убедился, что конструктор без параметров без параметров. Однако есть и другие общественные конструкторы, которые не пусты. Файлы классов были сгенерированы Hibernate, хотя для целей этого теста я не использовал их в сочетании с классами hibernate querydsl. Я просто видел, как запросить нормальные все коллекции объектов памяти. Спасибо за ваше время. –

+0

conrad-rowlands, Вам удалось найти решение? –

+0

+1 Для ответа во время отпуска. – ponzao

Смежные вопросы