0

我遇到了一个问题,当我尝试运行 Junit 测试时会收到 ClassNotFoundException 错误。生成的查询类是 QSomeTableEntity_Q,但即使我的 Predicate 类导入 QSomeTableEntity_Q 类,它也会继续在 SomeTableRepository 中为实体寻找 QSomeTableEntity。

我在我的 maven pom < querydsl.suffix >_Q< /querydsl.suffix >

4

1 回答 1

0

似乎spring jpa框架会在位于包的域类中查找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 就可以解决问题。

于 2017-09-15T02:55:35.467 回答