2016-03-18 2 views
0

У меня возникла проблема, когда я получу ошибку ClassNotFoundException при попытке запуска тестов Junit. Созданные классы запросов - QSomeTableEntity_Q, но он продолжает искать QSomeTableEntity в SomeTableRepository для объекта, хотя мой класс Predicate импортирует класс QSomeTableEntity_Q.Почему Querydsl ищет неправильные сгенерированные объекты?

у меня в Maven POM < querydsl.suffix> _Q < /querydsl.suffix>

+0

Сообщение об ошибке? Код? «он продолжает искать QEntity» ... Кто ищет QEntity? –

+0

ClassNotFound, не может дать код, класс репозитория данных весны для объекта – zurbergram

+0

один снимок в темноте: «Используйте целевой тест-экспорт, чтобы добавить targetFolder в качестве тестового компилятора исходного корня вместо корня источника компиляции». http://www.querydsl.com/static/querydsl/3.1.1/reference/html/ch02s03.html или другие проблемы ... –

ответ

0

Похоже, весна рамках JPA будет искать д-объекта в классе области, расположенной package.Here является код:

/** 
* Returns the name of the query class for the given domain class. 
* 
* @param domainClass 
* @return 
*/ 
private String getQueryClassName(Class<?> domainClass) { 

    String simpleClassName = ClassUtils.getShortName(domainClass); 
    return String.format("%s.Q%s%s", domainClass.getPackage().getName(), getClassBase(simpleClassName), 
      domainClass.getSimpleName()); 
} 

Так что просто переместите q-сущность, решите проблему.

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