Почему Querydsl ищет некорректно сгенерированные объекты?

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

У меня есть в моем maven pom _Q

1 ответ

Похоже, что Spring jpa Framework будет искать q-сущность в доменном классе, расположенном в пакете. Вот код:

/**
 * 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-сущность, чтобы решить проблему.

Другие вопросы по тегам