Ich arbeite mit Spring Boot 3.2.3 und QueryDSL 5.0.0 in Intellij idee (neueste Version). Ich habe erfolgreich eine QueryDSL -QClass generiert, aber wenn ich versuche, sie zu verwenden, erhalte ich den folgenden Fehler: < /p>
Code: Select all
{ "code": 500, "message": "org.hibernate.query.sqm.UnknownEntityException: Could not resolve target entity 'BandManagement'" }
< /code>
Die Anweisung in meinem Code ist: < /p>
import static com.softnet.compass_admin.db.phr.entity.device_management.QBandManagement.bandManagement;
< /code>
Umgebung < /h2>
Intellij Idee (neueste Version) < /p>
< /li>
Spring Boot 3.2.3 < /p> < /> < />
< /li> Queryds 5.0.0 < /li>
querydsl 5.0.0 < /li> < /li> queryds. /> < /ul>
Projektstruktur < /h2>
Meine Projektstruktur sieht so aus: < /p>
build
└── generated
└── querydsl [main] sources root
└── generated [main] generated sources root
└── com
└── softnet
└── compass_admin
└── db
└── device
Warum kann der Hibernate das Bandmanagement enttity nicht beheben, obwohl die QCLASS (
Code: Select all
QBandManagement
Code: Select all
// QueryDSL dependencies
implementation "com.querydsl:querydsl-jpa:${queryDslVersion}:jakarta"
annotationProcessor "com.querydsl:querydsl-apt:${queryDslVersion}:jakarta"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
implementation group: 'org.json', name: 'json', version: '20231013'
// Swagger
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.4.0")
}
// QueryDSL Q-class generation path setup
def querydslDir = "${buildDir}/generated/querydsl"
sourceSets {
main.java.srcDir querydslDir
}
tasks.register('generateQueryDSL', JavaCompile) {
source = sourceSets.main.java
classpath = configurations.compileClasspath
options.annotationProcessorPath = configurations.annotationProcessor
options.annotationProcessorGeneratedSourcesDirectory = file(querydslDir)
options.compilerArgs = [
"-proc:only",
"-processor", "com.querydsl.apt.jpa.JPAAnnotationProcessor"
]
}
tasks.named('compileJava') {
dependsOn('generateQueryDSL')
}
tasks.named('clean') {
doLast {
file(querydslDir).deleteDir()
}
}