2016-03-18 8 views
0

Ich habe ein Problem, bei dem ich einen ClassNotFoundException-Fehler bekomme, wenn ich versuche, Junit-Tests auszuführen. Die Abfrageklassen, die generiert werden, sind QSomeTableEntity_Q, aber es sucht weiterhin nach QSomeTableEntity im SomeTableRepository für die Entität, obwohl meine Predicate-Klasse die Klasse QSomeTableEntity_Q importiert.Warum sucht Querydsl nach falsch generierten Entitäten?

Ich habe in meinem Maven pom < querydsl.suffix> _Q < /querydsl.suffix>

+0

Fehlermeldung? Code? "Es sucht weiter nach QEntity" ... Wer sucht nach QEntity? –

+0

ClassNotFound, kann Code nicht geben, die Spring-Daten-Repository-Klasse für die Entität – zurbergram

+0

One Shot im Dunkeln: "Verwenden Sie den Zieltest-Export, um den Zielordner als Test-Compile-Quellwurzel anstelle eines Kompilierquellstammverzeichnisses hinzuzufügen." http://www.querydsl.com/static/querydsl/3.1.1/reference/html/ch02s03.html oder andere Probleme ... –

Antwort

0

Es ist wie Frühling JPA Rahmen scheint für die q-Entität in der Domain-Klasse aussehen wird package.Here gelegen ist code:

/** 
* 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()); 
} 

So verschieben Sie einfach die q-Einheit wird das Problem lösen.

Verwandte Themen