我遇到了一个问题,当我尝试运行Junit测试时,我会得到一个ClassNotFoundException错误。 生成的查询类是QSomeTableEntity_Q,但它一直在 SomeTableRepository 中查找实体的 QSomeTableEntity,即使我的 Predicate 类导入了 QSomeTableEntity_Q 类。
我在我的马文绒球里
似乎 spring jpa 框架将在位于域类的包中查找 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实体即可解决问题。