我遇到一个问题,当我尝试运行Junit测试时,我会收到ClassNotFoundException错误。生成的查询类是QSomeTableEntity_Q,但它仍然在实体的SomeTableRepository中查找QSomeTableEntity,即使我的Predicate类导入了QSomeTableEntity_Q类。
我有我的maven pom < querydsl.suffix> _Q< /querydsl.suffix>
答案 0 :(得分:0)
看起来spring jpa框架会在域类的package中寻找q-entity。这是代码:
/**
* 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-entity即可解决问题。