Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regression in 3.11.0: jpamodelgen WITH ECLIPSE COMPILER does not run and logs a warning: "Both Quarkus Hibernate ORM and Hibernate Reactive with Panache detected: this is not supported, so will proceed as if none were there" #40809

Closed
famod opened this issue May 23, 2024 · 25 comments · Fixed by #41359
Labels
area/hibernate-orm Hibernate ORM area/hibernate-reactive Hibernate Reactive area/panache area/persistence OBSOLETE, DO NOT USE area/user-experience Will make us lose users kind/bug Something isn't working
Milestone

Comments

@famod
Copy link
Member

famod commented May 23, 2024

Describe the bug

I'm leveraging https://github.com/quarkusio/quarkus/blob/3.11.0/bom/application/pom.xml#L5168-L5172 in annotationProcessorPaths of maven-compiler-plugin so that I don't need to specify an explicit version (that needs to be compatible to the actual Hibernate version in Quarkus). Since Quarkus 3.11.0 has updated to Hibernate 6.5.2.Final, the annotation processor is also updated for that version (coming from 6.4.7.Final in Quarkus 3.10.2).

Thing is I haven't structurally changed any dependencies, just tired updating. I cannot spot any Hibernate Reactive (nor Panache) dependencies in my dep tree so I'm puzzled why this bit in jpamodelgen seems to be finding a io.quarkus.hibernate.reactive.panache package.

This might actually be an upstream issue in Hibernate but for a start I chose to report it here.

Expected behavior

Working jpamodelgen like in 3.10.2

Actual behavior

jpamodelgen does not generate metamodel classes anymore and logs a warning, consequently my app doesn't compile anymore.

How to Reproduce?

n/a for now

Output of uname -a or ver

No response

Output of java -version

17.0.11

Quarkus version or git rev

3.11.0

Build tool (ie. output of mvnw --version or gradlew --version)

No response

Additional information

[INFO] --- dependency:3.6.1:tree (default-cli) @ register-core ---
[INFO] someproj:register-core:jar:5.1.0.local-dev3
[INFO] +- someproj:healthcore:jar:1.0.0.91:compile
[INFO] |  +- io.quarkus:quarkus-jackson:jar:3.11.0:compile
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.17.1:compile
[INFO] |  |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.17.1:compile
[INFO] |  |  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.17.1:compile
[INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.17.1:compile
[INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.17.1:compile
[INFO] |  |  \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.17.1:compile
[INFO] |  +- jakarta.ws.rs:jakarta.ws.rs-api:jar:3.1.0:compile
[INFO] |  +- org.apache.httpcomponents:httpcore:jar:4.4.16:compile
[INFO] |  +- jakarta.validation:jakarta.validation-api:jar:3.0.2:compile
[INFO] |  +- org.hibernate.orm:hibernate-core:jar:6.5.2.Final:compile
[INFO] |  |  +- jakarta.persistence:jakarta.persistence-api:jar:3.1.0:compile
[INFO] |  |  +- jakarta.transaction:jakarta.transaction-api:jar:2.0.1:compile
[INFO] |  |  +- org.jboss.logging:jboss-logging:jar:3.5.3.Final:compile
[INFO] |  |  +- org.hibernate.common:hibernate-commons-annotations:jar:6.0.6.Final:compile
[INFO] |  |  +- com.fasterxml:classmate:jar:1.7.0:compile
[INFO] |  |  +- jakarta.xml.bind:jakarta.xml.bind-api:jar:4.0.2:compile
[INFO] |  |  |  \- jakarta.activation:jakarta.activation-api:jar:2.1.3:compile
[INFO] |  |  +- org.glassfish.jaxb:jaxb-runtime:jar:4.0.5:compile
[INFO] |  |  |  \- org.glassfish.jaxb:jaxb-core:jar:4.0.5:compile
[INFO] |  |  |     +- org.eclipse.angus:angus-activation:jar:2.0.2:runtime
[INFO] |  |  |     +- org.glassfish.jaxb:txw2:jar:4.0.5:compile
[INFO] |  |  |     \- com.sun.istack:istack-commons-runtime:jar:4.1.2:compile
[INFO] |  |  +- jakarta.inject:jakarta.inject-api:jar:2.0.1:compile
[INFO] |  |  \- org.antlr:antlr4-runtime:jar:4.13.0:compile
[INFO] |  +- io.quarkus:quarkus-spring-boot-orm-api:jar:2.1.SP1:compile
[INFO] |  +- io.quarkus:quarkus-spring-data-commons-api:jar:2.1.SP2:compile
[INFO] |  +- io.quarkus:quarkus-spring-data-jpa-api:jar:2.1.SP2:compile
[INFO] |  +- com.blazebit:blaze-persistence-core-api-jakarta:jar:1.6.11:compile
[INFO] |  +- com.blazebit:blaze-persistence-entity-view-api-jakarta:jar:1.6.11:compile
[INFO] |  \- commons-io:commons-io:jar:2.16.1:compile
[INFO] +- someproj:register-common:jar:5.1.0.local-dev3:compile
[INFO] |  +- io.quarkus:quarkus-config-yaml:jar:3.11.0:compile
[INFO] |  |  +- io.smallrye.config:smallrye-config-source-yaml:jar:3.8.1:compile
[INFO] |  |  |  +- io.smallrye.config:smallrye-config-common:jar:3.8.1:compile
[INFO] |  |  |  |  \- io.smallrye.common:smallrye-common-classloader:jar:2.3.0:compile
[INFO] |  |  |  \- io.smallrye.common:smallrye-common-constraint:jar:2.3.0:compile
[INFO] |  |  \- org.eclipse.microprofile.config:microprofile-config-api:jar:3.1:compile
[INFO] |  +- io.quarkus:quarkus-hibernate-orm:jar:3.11.0:compile
[INFO] |  |  +- org.hibernate.orm:hibernate-graalvm:jar:6.5.2.Final:compile
[INFO] |  |  +- org.hibernate:quarkus-local-cache:jar:0.3.0:compile
[INFO] |  |  \- io.quarkus:quarkus-caffeine:jar:3.11.0:compile
[INFO] |  |     \- com.github.ben-manes.caffeine:caffeine:jar:3.1.5:compile
[INFO] |  |        \- com.google.errorprone:error_prone_annotations:jar:2.27.1:compile
[INFO] |  +- io.quarkus:quarkus-hibernate-validator:jar:3.11.0:compile
[INFO] |  |  +- org.hibernate.validator:hibernate-validator:jar:8.0.1.Final:compile
[INFO] |  |  \- io.smallrye.config:smallrye-config-validator:jar:3.8.1:compile
[INFO] |  +- io.quarkus:quarkus-jdbc-mariadb:jar:3.11.0:compile
[INFO] |  |  \- org.mariadb.jdbc:mariadb-java-client:jar:3.3.3:compile
[INFO] |  |     \- com.github.waffle:waffle-jna:jar:3.3.0:compile
[INFO] |  |        \- net.java.dev.jna:jna-platform:jar:5.8.0:compile
[INFO] |  +- io.quarkus:quarkus-scheduler-common:jar:3.11.0:compile
[INFO] |  |  +- io.quarkus:quarkus-scheduler-api:jar:3.11.0:compile
[INFO] |  |  +- io.quarkus:quarkus-scheduler-spi:jar:3.11.0:compile
[INFO] |  |  +- io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:jar:1.32.0:compile
[INFO] |  |  |  \- io.opentelemetry:opentelemetry-extension-incubator:jar:1.32.0-alpha:runtime
[INFO] |  |  \- com.cronutils:cron-utils:jar:9.2.1:compile
[INFO] |  +- io.quarkus:quarkus-opentelemetry:jar:3.11.0:compile
[INFO] |  |  +- io.quarkus:quarkus-security-runtime-spi:jar:3.11.0:compile
[INFO] |  |  |  \- io.quarkus.security:quarkus-security:jar:2.0.3.Final:compile
[INFO] |  |  +- io.quarkus:quarkus-grpc-common:jar:3.11.0:compile
[INFO] |  |  |  +- io.vertx:vertx-grpc:jar:4.5.7:compile
[INFO] |  |  |  |  +- io.grpc:grpc-netty:jar:1.63.0:compile
[INFO] |  |  |  |  |  \- io.grpc:grpc-util:jar:1.63.0:runtime
[INFO] |  |  |  |  +- io.grpc:grpc-protobuf:jar:1.63.0:compile
[INFO] |  |  |  |  |  +- com.google.protobuf:protobuf-java:jar:3.25.0:compile
[INFO] |  |  |  |  |  +- com.google.api.grpc:proto-google-common-protos:jar:2.39.0:compile
[INFO] |  |  |  |  |  \- io.grpc:grpc-protobuf-lite:jar:1.63.0:runtime
[INFO] |  |  |  |  \- com.google.guava:guava:jar:33.2.0-jre:compile
[INFO] |  |  |  |     \- com.google.j2objc:j2objc-annotations:jar:2.8:compile
[INFO] |  |  |  +- io.vertx:vertx-grpc-server:jar:4.5.7:compile
[INFO] |  |  |  \- io.grpc:grpc-core:jar:1.63.0:compile
[INFO] |  |  |     +- com.google.code.gson:gson:jar:2.10.1:runtime
[INFO] |  |  |     +- io.perfmark:perfmark-api:jar:0.26.0:runtime
[INFO] |  |  |     \- io.grpc:grpc-context:jar:1.63.0:runtime
[INFO] |  |  +- io.smallrye.common:smallrye-common-vertx-context:jar:2.3.0:compile
[INFO] |  |  +- io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:jar:1.32.0:compile
[INFO] |  |  +- io.opentelemetry:opentelemetry-sdk:jar:1.32.0:compile
[INFO] |  |  |  +- io.opentelemetry:opentelemetry-sdk-common:jar:1.32.0:compile
[INFO] |  |  |  +- io.opentelemetry:opentelemetry-sdk-trace:jar:1.32.0:compile
[INFO] |  |  |  +- io.opentelemetry:opentelemetry-sdk-metrics:jar:1.32.0:compile
[INFO] |  |  |  \- io.opentelemetry:opentelemetry-sdk-logs:jar:1.32.0:compile
[INFO] |  |  +- io.opentelemetry:opentelemetry-extension-annotations:jar:1.18.0:compile
[INFO] |  |  +- io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi:jar:1.32.0:compile
[INFO] |  |  +- io.opentelemetry.semconv:opentelemetry-semconv:jar:1.21.0-alpha:compile
[INFO] |  |  +- io.opentelemetry:opentelemetry-api-events:jar:1.32.0-alpha:compile
[INFO] |  |  +- io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations:jar:1.32.0:compile
[INFO] |  |  +- io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations-support:jar:1.32.0-alpha:compile
[INFO] |  |  +- io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-semconv:jar:1.32.0-alpha:compile
[INFO] |  |  +- io.opentelemetry:opentelemetry-exporter-otlp-common:jar:1.32.0:compile
[INFO] |  |  |  \- io.opentelemetry:opentelemetry-exporter-common:jar:1.32.0:compile
[INFO] |  |  +- io.opentelemetry:opentelemetry-exporter-otlp:jar:1.32.0:compile
[INFO] |  |  |  \- io.opentelemetry:opentelemetry-exporter-sender-okhttp:jar:1.32.0:runtime
[INFO] |  |  \- io.vertx:vertx-grpc-client:jar:4.5.7:compile
[INFO] |  |     +- io.vertx:vertx-grpc-common:jar:4.5.7:compile
[INFO] |  |     +- io.grpc:grpc-stub:jar:1.63.0:compile
[INFO] |  |     \- io.grpc:grpc-api:jar:1.63.0:compile
[INFO] |  +- io.opentelemetry.instrumentation:opentelemetry-jdbc:jar:1.32.0-alpha:compile
[INFO] |  |  \- io.opentelemetry:opentelemetry-api:jar:1.32.0:compile
[INFO] |  |     \- io.opentelemetry:opentelemetry-context:jar:1.32.0:compile
[INFO] |  +- io.smallrye:smallrye-health:jar:4.1.0:compile
[INFO] |  |  +- org.eclipse.microprofile.health:microprofile-health-api:jar:4.0.1:compile
[INFO] |  |  +- io.smallrye:smallrye-health-api:jar:4.1.0:compile
[INFO] |  |  +- io.smallrye.config:smallrye-config:jar:3.8.1:compile
[INFO] |  |  |  \- io.smallrye.config:smallrye-config-core:jar:3.8.1:compile
[INFO] |  |  +- jakarta.enterprise:jakarta.enterprise.cdi-api:jar:4.1.0:compile
[INFO] |  |  |  +- jakarta.enterprise:jakarta.enterprise.lang-model:jar:4.1.0:compile
[INFO] |  |  |  \- jakarta.interceptor:jakarta.interceptor-api:jar:2.2.0:compile
[INFO] |  |  +- jakarta.json:jakarta.json-api:jar:2.1.3:compile
[INFO] |  |  \- org.eclipse.parsson:jakarta.json:jar:1.1.5:compile
[INFO] |  \- jakarta.xml.ws:jakarta.xml.ws-api:jar:3.0.1:compile
[INFO] |     +- jakarta.xml.soap:jakarta.xml.soap-api:jar:2.0.1:compile
[INFO] |     \- jakarta.jws:jakarta.jws-api:jar:3.0.0:compile
[INFO] +- io.quarkus:quarkus-qute:jar:3.11.0:compile
[INFO] |  +- io.quarkus:quarkus-core:jar:3.11.0:compile
[INFO] |  |  +- jakarta.annotation:jakarta.annotation-api:jar:3.0.0:compile
[INFO] |  |  +- io.smallrye.common:smallrye-common-os:jar:2.3.0:compile
[INFO] |  |  +- io.quarkus:quarkus-ide-launcher:jar:3.11.0:compile
[INFO] |  |  +- io.quarkus:quarkus-development-mode-spi:jar:3.11.0:compile
[INFO] |  |  +- org.jboss.logmanager:jboss-logmanager:jar:3.0.6.Final:compile
[INFO] |  |  |  +- io.smallrye.common:smallrye-common-cpu:jar:2.3.0:compile
[INFO] |  |  |  +- io.smallrye.common:smallrye-common-expression:jar:2.3.0:compile
[INFO] |  |  |  |  \- io.smallrye.common:smallrye-common-function:jar:2.3.0:compile
[INFO] |  |  |  +- io.smallrye.common:smallrye-common-net:jar:2.3.0:compile
[INFO] |  |  |  +- io.smallrye.common:smallrye-common-ref:jar:2.3.0:compile
[INFO] |  |  |  \- org.eclipse.parsson:parsson:jar:1.1.6:compile
[INFO] |  |  +- org.jboss.logging:jboss-logging-annotations:jar:2.2.1.Final:compile
[INFO] |  |  +- org.jboss.threads:jboss-threads:jar:3.6.1.Final:compile
[INFO] |  |  +- org.slf4j:slf4j-api:jar:2.0.6:compile
[INFO] |  |  +- org.wildfly.common:wildfly-common:jar:1.7.0.Final:compile
[INFO] |  |  +- io.quarkus:quarkus-bootstrap-runner:jar:3.11.0:compile
[INFO] |  |  |  \- io.github.crac:org-crac:jar:0.1.3:compile
[INFO] |  |  \- io.quarkus:quarkus-fs-util:jar:0.0.10:compile
[INFO] |  +- io.quarkus:quarkus-arc:jar:3.11.0:compile
[INFO] |  |  +- io.quarkus.arc:arc:jar:3.11.0:compile
[INFO] |  |  \- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:jar:1.3:compile
[INFO] |  \- io.quarkus.qute:qute-core:jar:3.11.0:compile
[INFO] |     \- io.smallrye.reactive:mutiny:jar:2.6.0:compile
[INFO] |        \- org.jctools:jctools-core:jar:4.0.3:compile
[INFO] +- io.quarkus:quarkus-liquibase:jar:3.11.0:compile
[INFO] |  +- org.liquibase:liquibase-core:jar:4.27.0:compile
[INFO] |  |  +- com.opencsv:opencsv:jar:5.9:compile
[INFO] |  |  +- org.apache.commons:commons-text:jar:1.12.0:compile
[INFO] |  |  \- org.apache.commons:commons-collections4:jar:4.4:compile
[INFO] |  +- org.osgi:osgi.core:jar:6.0.0:compile
[INFO] |  +- org.yaml:snakeyaml:jar:2.2:compile
[INFO] |  +- io.quarkus:quarkus-jaxb:jar:3.11.0:compile
[INFO] |  |  \- io.quarkus:quarkus-jaxp:jar:3.11.0:compile
[INFO] |  +- io.quarkus:quarkus-agroal:jar:3.11.0:compile
[INFO] |  |  +- io.quarkus:quarkus-datasource:jar:3.11.0:compile
[INFO] |  |  +- io.agroal:agroal-api:jar:2.3:compile
[INFO] |  |  +- io.agroal:agroal-narayana:jar:2.3:compile
[INFO] |  |  |  \- org.jboss:jboss-transaction-spi:jar:8.0.0.Final:compile
[INFO] |  |  +- io.agroal:agroal-pool:jar:2.3:compile
[INFO] |  |  \- io.quarkus:quarkus-credentials:jar:3.11.0:compile
[INFO] |  +- io.quarkus:quarkus-datasource-common:jar:3.11.0:compile
[INFO] |  \- io.quarkus:quarkus-narayana-jta:jar:3.11.0:compile
[INFO] |     +- io.quarkus:quarkus-transaction-annotations:jar:3.11.0:compile
[INFO] |     +- io.smallrye:smallrye-context-propagation-jta:jar:2.1.0:compile
[INFO] |     +- io.smallrye.reactive:smallrye-reactive-converter-api:jar:3.0.1:compile
[INFO] |     |  \- org.reactivestreams:reactive-streams:jar:1.0.4:compile
[INFO] |     +- io.smallrye.reactive:smallrye-reactive-converter-mutiny:jar:3.0.1:compile
[INFO] |     +- io.smallrye.reactive:mutiny-zero-flow-adapters:jar:1.1.0:compile
[INFO] |     +- org.jboss.narayana.jta:narayana-jta:jar:7.0.1.Final:compile
[INFO] |     |  +- jakarta.resource:jakarta.resource-api:jar:2.1.0:compile
[INFO] |     |  +- org.jboss.invocation:jboss-invocation:jar:2.0.0.Final:compile
[INFO] |     |  \- org.eclipse.microprofile.reactive-streams-operators:microprofile-reactive-streams-operators-api:jar:3.0:compile
[INFO] |     \- org.jboss.narayana.jts:narayana-jts-integration:jar:7.0.1.Final:compile
[INFO] +- io.quarkus:quarkus-scheduler:jar:3.11.0:compile
[INFO] |  +- io.quarkus:quarkus-scheduler-kotlin:jar:3.11.0:compile
[INFO] |  +- io.quarkus:quarkus-virtual-threads:jar:3.11.0:compile
[INFO] |  |  \- io.vertx:vertx-core:jar:4.5.7:compile
[INFO] |  |     +- io.netty:netty-common:jar:4.1.108.Final:compile
[INFO] |  |     +- io.netty:netty-buffer:jar:4.1.108.Final:compile
[INFO] |  |     +- io.netty:netty-transport:jar:4.1.108.Final:compile
[INFO] |  |     +- io.netty:netty-handler:jar:4.1.108.Final:compile
[INFO] |  |     |  \- io.netty:netty-transport-native-unix-common:jar:4.1.108.Final:compile
[INFO] |  |     +- io.netty:netty-handler-proxy:jar:4.1.108.Final:compile
[INFO] |  |     |  \- io.netty:netty-codec-socks:jar:4.1.108.Final:compile
[INFO] |  |     +- io.netty:netty-codec-http:jar:4.1.108.Final:compile
[INFO] |  |     +- io.netty:netty-codec-http2:jar:4.1.108.Final:compile
[INFO] |  |     +- io.netty:netty-resolver:jar:4.1.108.Final:compile
[INFO] |  |     \- io.netty:netty-resolver-dns:jar:4.1.108.Final:compile
[INFO] |  |        \- io.netty:netty-codec-dns:jar:4.1.108.Final:compile
[INFO] |  +- io.quarkus:quarkus-vertx:jar:3.11.0:compile
[INFO] |  |  +- io.quarkus:quarkus-netty:jar:3.11.0:compile
[INFO] |  |  |  +- io.netty:netty-codec:jar:4.1.108.Final:compile
[INFO] |  |  |  \- com.aayushatharva.brotli4j:brotli4j:jar:1.16.0:compile
[INFO] |  |  |     +- com.aayushatharva.brotli4j:service:jar:1.16.0:compile
[INFO] |  |  |     \- com.aayushatharva.brotli4j:native-linux-x86_64:jar:1.16.0:compile
[INFO] |  |  +- io.netty:netty-codec-haproxy:jar:4.1.108.Final:compile
[INFO] |  |  +- io.smallrye.common:smallrye-common-annotation:jar:2.3.0:compile
[INFO] |  |  +- io.quarkus:quarkus-vertx-latebound-mdc-provider:jar:3.11.0:compile
[INFO] |  |  +- io.smallrye.reactive:smallrye-mutiny-vertx-core:jar:3.12.0:compile
[INFO] |  |  |  +- io.smallrye.reactive:smallrye-mutiny-vertx-runtime:jar:3.12.0:compile
[INFO] |  |  |  \- io.smallrye.reactive:vertx-mutiny-generator:jar:3.12.0:compile
[INFO] |  |  |     \- io.vertx:vertx-codegen:jar:4.5.7:compile
[INFO] |  |  \- io.smallrye:smallrye-fault-tolerance-vertx:jar:6.3.0:compile
[INFO] |  +- org.jboss.slf4j:slf4j-jboss-logmanager:jar:2.0.0.Final:compile
[INFO] |  \- org.glassfish.expressly:expressly:jar:5.0.0:compile
[INFO] |     \- jakarta.el:jakarta.el-api:jar:5.0.1:compile
[INFO] +- io.quarkus:quarkus-spring-data-jpa:jar:3.11.0:compile
[INFO] |  +- io.quarkus:quarkus-hibernate-orm-panache:jar:3.11.0:compile
[INFO] |  |  +- io.quarkus:quarkus-hibernate-orm-panache-common:jar:3.11.0:compile
[INFO] |  |  |  \- io.quarkus:quarkus-panache-hibernate-common:jar:3.11.0:compile
[INFO] |  |  \- io.quarkus:quarkus-panache-common:jar:3.11.0:compile
[INFO] |  +- io.quarkus:quarkus-spring-di:jar:3.11.0:compile
[INFO] |  |  \- io.quarkus:quarkus-spring-beans-api:jar:5.2.SP7:compile
[INFO] |  +- io.quarkus:quarkus-spring-context-api:jar:5.2.SP7:compile
[INFO] |  \- io.quarkus:quarkus-spring-core-api:jar:5.2.SP7:compile
[INFO] +- com.blazebit:blaze-persistence-entity-view-impl-jakarta:jar:1.6.11:runtime
[INFO] |  +- com.blazebit:blaze-persistence-core-parser-jakarta:jar:1.6.11:runtime
[INFO] |  +- com.blazebit:blaze-common-utils:jar:0.1.21:compile
[INFO] |  \- org.javassist:javassist:jar:3.29.2-GA:compile
[INFO] +- com.blazebit:blaze-persistence-integration-quarkus-3:jar:1.6.11:compile
[INFO] |  \- com.blazebit:blaze-persistence-core-impl-jakarta:jar:1.6.11:runtime
[INFO] +- com.blazebit:blaze-persistence-integration-hibernate-6.2:jar:1.6.11:compile
[INFO] |  \- com.blazebit:blaze-persistence-integration-hibernate6-base:jar:1.6.11:compile
[INFO] |     \- com.blazebit:blaze-persistence-integration-jpa-base-jakarta:jar:1.6.11:compile
[INFO] +- org.eclipse.microprofile.rest.client:microprofile-rest-client-api:jar:3.0.1:compile
[INFO] +- org.apache.commons:commons-lang3:jar:3.14.0:compile
[INFO] +- org.passay:passay:jar:1.6.4:compile
[INFO] +- someproj:healthcore:test-jar:tests:1.0.0.91:test
[INFO] +- someproj:register-common:test-jar:tests:5.1.0.local-dev3:test
[INFO] +- org.projectlombok:lombok:jar:1.18.32:provided
[INFO] +- org.mapstruct:mapstruct:jar:1.5.5.Final:provided
[INFO] +- com.github.spotbugs:spotbugs-annotations:jar:4.8.5:provided
[INFO] |  \- com.google.code.findbugs:jsr305:jar:3.0.2:compile
[INFO] +- io.quarkus:quarkus-jacoco:jar:3.11.0:test
[INFO] |  +- org.jacoco:org.jacoco.core:jar:0.8.12:test
[INFO] |  |  +- org.ow2.asm:asm:jar:9.7:test
[INFO] |  |  \- org.ow2.asm:asm-tree:jar:9.7:test
[INFO] |  +- org.jacoco:org.jacoco.report:jar:0.8.12:test
[INFO] |  +- org.jacoco:org.jacoco.agent:jar:0.8.12:test
[INFO] |  +- org.jacoco:org.jacoco.agent:jar:runtime:0.8.12:test
[INFO] |  \- org.ow2.asm:asm-commons:jar:9.7:test
[INFO] +- io.quarkus:quarkus-junit4-mock:jar:3.11.0:test
[INFO] +- io.quarkus:quarkus-junit5:jar:3.11.0:test
[INFO] |  +- io.quarkus:quarkus-bootstrap-core:jar:3.11.0:test
[INFO] |  |  +- io.quarkus:quarkus-classloader-commons:jar:3.11.0:compile
[INFO] |  |  +- io.quarkus:quarkus-bootstrap-app-model:jar:3.11.0:test
[INFO] |  |  \- io.smallrye.common:smallrye-common-io:jar:2.3.0:compile
[INFO] |  +- org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.9.0.M2:test
[INFO] |  +- io.quarkus:quarkus-test-common:jar:3.11.0:test
[INFO] |  |  +- io.quarkus:quarkus-core-deployment:jar:3.11.0:test
[INFO] |  |  |  +- org.aesh:readline:jar:2.4:test
[INFO] |  |  |  |  \- org.fusesource.jansi:jansi:jar:2.4.0:test
[INFO] |  |  |  +- org.aesh:aesh:jar:2.7:test
[INFO] |  |  |  +- io.quarkus.gizmo:gizmo:jar:1.8.0:test
[INFO] |  |  |  |  \- org.ow2.asm:asm-util:jar:9.7:test
[INFO] |  |  |  |     \- org.ow2.asm:asm-analysis:jar:9.7:test
[INFO] |  |  |  +- io.quarkus:quarkus-hibernate-validator-spi:jar:3.11.0:test
[INFO] |  |  |  +- io.quarkus:quarkus-class-change-agent:jar:3.11.0:test
[INFO] |  |  |  +- io.quarkus:quarkus-devtools-utilities:jar:3.11.0:test
[INFO] |  |  |  +- io.quarkus:quarkus-builder:jar:3.11.0:test
[INFO] |  |  |  +- org.graalvm.sdk:nativeimage:jar:23.1.2:test
[INFO] |  |  |  |  \- org.graalvm.sdk:word:jar:23.1.2:test
[INFO] |  |  |  \- org.junit.platform:junit-platform-launcher:jar:1.10.2:test
[INFO] |  |  +- io.quarkus:quarkus-bootstrap-maven-resolver:jar:3.11.0:test
[INFO] |  |  |  +- io.smallrye.beanbag:smallrye-beanbag-maven:jar:1.4.1:test
[INFO] |  |  |  |  +- io.smallrye.beanbag:smallrye-beanbag-sisu:jar:1.4.1:test
[INFO] |  |  |  |  |  \- io.smallrye.beanbag:smallrye-beanbag:jar:1.4.1:test
[INFO] |  |  |  |  +- javax.inject:javax.inject:jar:1:test
[INFO] |  |  |  |  +- org.apache.httpcomponents:httpclient:jar:4.5.14:test
[INFO] |  |  |  |  +- org.apache.maven:maven-artifact:jar:3.9.6:test
[INFO] |  |  |  |  +- org.apache.maven:maven-builder-support:jar:3.9.6:test
[INFO] |  |  |  |  +- org.apache.maven:maven-model:jar:3.9.6:test
[INFO] |  |  |  |  +- org.apache.maven:maven-model-builder:jar:3.9.6:test
[INFO] |  |  |  |  +- org.apache.maven:maven-repository-metadata:jar:3.9.6:test
[INFO] |  |  |  |  +- org.apache.maven:maven-settings:jar:3.9.6:test
[INFO] |  |  |  |  +- org.apache.maven.resolver:maven-resolver-api:jar:1.9.18:test
[INFO] |  |  |  |  +- org.apache.maven.resolver:maven-resolver-impl:jar:1.9.18:test
[INFO] |  |  |  |  |  \- org.apache.maven.resolver:maven-resolver-named-locks:jar:1.9.18:test
[INFO] |  |  |  |  +- org.apache.maven.resolver:maven-resolver-spi:jar:1.9.18:test
[INFO] |  |  |  |  +- org.apache.maven.resolver:maven-resolver-util:jar:1.9.18:test
[INFO] |  |  |  |  +- org.apache.maven.resolver:maven-resolver-transport-http:jar:1.9.18:test
[INFO] |  |  |  |  +- org.apache.maven.wagon:wagon-provider-api:jar:3.5.3:test
[INFO] |  |  |  |  +- org.apache.maven.wagon:wagon-http-shared:jar:3.5.3:test
[INFO] |  |  |  |  +- org.codehaus.plexus:plexus-interpolation:jar:1.26:test
[INFO] |  |  |  |  +- org.codehaus.plexus:plexus-utils:jar:3.5.1:test
[INFO] |  |  |  |  +- org.codehaus.plexus:plexus-xml:jar:4.0.0:test
[INFO] |  |  |  |  |  \- org.apache.maven:maven-xml-impl:jar:4.0.0-alpha-5:test
[INFO] |  |  |  |  |     \- org.apache.maven:maven-api-xml:jar:4.0.0-alpha-5:test
[INFO] |  |  |  |  |        \- org.apache.maven:maven-api-meta:jar:4.0.0-alpha-5:test
[INFO] |  |  |  |  +- org.codehaus.plexus:plexus-cipher:jar:2.0:test
[INFO] |  |  |  |  \- org.codehaus.plexus:plexus-sec-dispatcher:jar:2.0:test
[INFO] |  |  |  +- org.apache.maven:maven-embedder:jar:3.9.6:test
[INFO] |  |  |  |  +- org.apache.maven:maven-core:jar:3.9.6:test
[INFO] |  |  |  |  |  \- org.codehaus.plexus:plexus-component-annotations:jar:2.1.0:test
[INFO] |  |  |  |  +- org.apache.maven:maven-plugin-api:jar:3.9.6:test
[INFO] |  |  |  |  +- org.apache.maven.shared:maven-shared-utils:jar:3.3.4:test
[INFO] |  |  |  |  +- com.google.inject:guice:jar:5.1.0:test
[INFO] |  |  |  |  |  \- aopalliance:aopalliance:jar:1.0:test
[INFO] |  |  |  |  +- com.google.guava:failureaccess:jar:1.0.1:compile
[INFO] |  |  |  |  +- javax.annotation:javax.annotation-api:jar:1.3.2:test
[INFO] |  |  |  |  +- org.codehaus.plexus:plexus-classworlds:jar:2.6.0:test
[INFO] |  |  |  |  \- commons-cli:commons-cli:jar:1.5.0:test
[INFO] |  |  |  +- org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.9.0.M2:test
[INFO] |  |  |  +- org.apache.maven:maven-settings-builder:jar:3.9.6:test
[INFO] |  |  |  +- org.apache.maven:maven-resolver-provider:jar:3.9.6:test
[INFO] |  |  |  +- org.apache.maven.resolver:maven-resolver-connector-basic:jar:1.9.18:test
[INFO] |  |  |  +- org.apache.maven.resolver:maven-resolver-transport-wagon:jar:1.9.18:test
[INFO] |  |  |  +- org.apache.maven.wagon:wagon-http:jar:3.5.3:test
[INFO] |  |  |  \- org.apache.maven.wagon:wagon-file:jar:3.5.3:test
[INFO] |  |  +- io.quarkus:quarkus-bootstrap-gradle-resolver:jar:3.11.0:test
[INFO] |  |  +- io.smallrye:jandex:jar:3.1.8:test
[INFO] |  |  \- org.jboss.logging:commons-logging-jboss-logging:jar:1.0.0.Final:test
[INFO] |  +- io.quarkus:quarkus-junit5-properties:jar:3.11.0:test
[INFO] |  +- org.junit.jupiter:junit-jupiter:jar:5.10.2:test
[INFO] |  |  +- org.junit.jupiter:junit-jupiter-params:jar:5.10.2:test
[INFO] |  |  \- org.junit.jupiter:junit-jupiter-engine:jar:5.10.2:test
[INFO] |  |     \- org.junit.platform:junit-platform-engine:jar:1.10.2:test
[INFO] |  \- com.thoughtworks.xstream:xstream:jar:1.4.20:test
[INFO] |     \- io.github.x-stream:mxparser:jar:1.2.2:test
[INFO] |        \- xmlpull:xmlpull:jar:1.1.3.1:test
[INFO] +- io.quarkus:quarkus-junit5-mockito:jar:3.11.0:test
[INFO] |  +- io.quarkus:quarkus-junit5-mockito-config:jar:3.11.0:test
[INFO] |  +- io.quarkus:quarkus-arc-deployment:jar:3.11.0:test
[INFO] |  |  +- io.quarkus:quarkus-smallrye-context-propagation-spi:jar:3.11.0:test
[INFO] |  |  +- io.quarkus:quarkus-vertx-http-dev-ui-spi:jar:3.11.0:test
[INFO] |  |  +- io.quarkus.arc:arc-processor:jar:3.11.0:test
[INFO] |  |  \- io.quarkus:quarkus-arc-test-supplement:jar:3.11.0:test
[INFO] |  +- org.mockito:mockito-subclass:jar:5.11.0:test
[INFO] |  \- io.quarkus:quarkus-mutiny:jar:3.11.0:compile
[INFO] |     +- io.quarkus:quarkus-smallrye-context-propagation:jar:3.11.0:compile
[INFO] |     |  \- io.smallrye:smallrye-context-propagation:jar:2.1.0:compile
[INFO] |     |     +- io.smallrye:smallrye-context-propagation-api:jar:2.1.0:compile
[INFO] |     |     \- io.smallrye:smallrye-context-propagation-storage:jar:2.1.0:compile
[INFO] |     \- io.smallrye.reactive:mutiny-smallrye-context-propagation:jar:2.6.0:compile
[INFO] +- org.assertj:assertj-core:jar:3.25.3:test
[INFO] |  \- net.bytebuddy:byte-buddy:jar:1.14.15:compile
[INFO] +- org.awaitility:awaitility:jar:4.2.1:test
[INFO] |  \- org.hamcrest:hamcrest:jar:2.2:test
[INFO] +- com.tngtech.archunit:archunit-junit5:jar:1.3.0:test
[INFO] |  +- com.tngtech.archunit:archunit-junit5-api:jar:1.3.0:test
[INFO] |  |  \- com.tngtech.archunit:archunit:jar:1.3.0:test
[INFO] |  \- com.tngtech.archunit:archunit-junit5-engine:jar:1.3.0:test
[INFO] |     \- com.tngtech.archunit:archunit-junit5-engine-api:jar:1.3.0:test
[INFO] +- org.testcontainers:junit-jupiter:jar:1.19.8:test
[INFO] |  \- org.testcontainers:testcontainers:jar:1.19.8:test
[INFO] |     +- org.apache.commons:commons-compress:jar:1.26.1:test
[INFO] |     |  \- commons-codec:commons-codec:jar:1.17.0:test
[INFO] |     +- org.rnorth.duct-tape:duct-tape:jar:1.0.8:test
[INFO] |     |  \- org.jetbrains:annotations:jar:24.1.0:test
[INFO] |     +- com.github.docker-java:docker-java-api:jar:3.3.6:test
[INFO] |     \- com.github.docker-java:docker-java-transport-zerodep:jar:3.3.6:test
[INFO] |        +- com.github.docker-java:docker-java-transport:jar:3.3.6:test
[INFO] |        \- net.java.dev.jna:jna:jar:5.8.0:compile
[INFO] +- org.testcontainers:mariadb:jar:1.19.8:test
[INFO] |  \- org.testcontainers:jdbc:jar:1.19.8:test
[INFO] |     \- org.testcontainers:database-commons:jar:1.19.8:test
[INFO] +- org.apache.commons:commons-rng-simple:jar:1.5:test
[INFO] |  +- org.apache.commons:commons-rng-client-api:jar:1.5:test
[INFO] |  \- org.apache.commons:commons-rng-core:jar:1.5:test
[INFO] +- net.datafaker:datafaker:jar:2.2.2:test
[INFO] |  \- com.github.curious-odd-man:rgxgen:jar:2.0:test
[INFO] +- com.github.javaparser:javaparser-core:jar:3.25.10:test
[INFO] \- org.mockito:mockito-junit-jupiter:jar:5.11.0:test
[INFO]    +- org.mockito:mockito-core:jar:5.11.0:test
[INFO]    |  +- net.bytebuddy:byte-buddy-agent:jar:1.14.12:test
[INFO]    |  \- org.objenesis:objenesis:jar:3.3:test
[INFO]    \- org.junit.jupiter:junit-jupiter-api:jar:5.10.2:test
[INFO]       +- org.opentest4j:opentest4j:jar:1.3.0:test
[INFO]       +- org.junit.platform:junit-platform-commons:jar:1.10.2:test
[INFO]       \- org.apiguardian:apiguardian-api:jar:1.1.2:test
@famod famod added the kind/bug Something isn't working label May 23, 2024
Copy link

quarkus-bot bot commented May 23, 2024

/cc @DavideD (hibernate-reactive), @FroMage (panache), @gavinking (hibernate-reactive), @geoand (kotlin), @loicmathieu (panache)

@famod famod added area/hibernate-orm Hibernate ORM and removed area/kotlin labels May 23, 2024
@famod
Copy link
Member Author

famod commented May 23, 2024

/cc also @yrodiere

@famod
Copy link
Member Author

famod commented May 23, 2024

Btw, unsurprisingly git bisect identified this commit: 78952bc

@famod famod changed the title Regression (?) in 3.11.0 :: jpamodelgen does not run and logs: "[WARNING] Unknown source: Both Quarkus Hibernate ORM and Hibernate Reactive with Panache detected: this is not supported, so will proceed as if none were there" Regression (?) in 3.11.0 :: jpamodelgen does not run and logs a warning: "Both Quarkus Hibernate ORM and Hibernate Reactive with Panache detected: this is not supported, so will proceed as if none were there" May 23, 2024
@yrodiere
Copy link
Member

@FroMage I think we'll need you to figure this out, as this seems caused by your patches to jpamodelgen...

@yrodiere
Copy link
Member

@FroMage I think we'll need you to figure this out, as this seems caused by your patches to jpamodelgen...

Also I'm discovering just now these patches, and find them highly questionable... why do we have references to Panache in Hibernate ORM itself? Why isn't there rather some extension mechanism (ServiceLoader or other) that Panache implements?

@geoand geoand added the area/user-experience Will make us lose users label May 23, 2024
@FroMage
Copy link
Member

FroMage commented May 23, 2024

It's not a dependency from ORM to panache, but a way for it to detect that it's running in Quarkus with Panache. Apparently Quarkus Spring Data uses ORM/Panache, so that's where it's detected.

This should have no effect on metamodel generation, though. It should run, and just not assume you have either one of those (ORM or HR).

The only thing this detection changes is how your metamodel type-safe queries turn into static methods or bean methods. It's a bug if it stops running, I suppose.

@FroMage
Copy link
Member

FroMage commented May 23, 2024

So, my patch is definitely not meant to turn off metamodel generation. But also I've no idea why it can find a io.quarkus.hibernate.reactive.panache package from that classpath you showed.

@gsmet
Copy link
Member

gsmet commented May 23, 2024

In any case, I think we need two things:

  • a quick fix/workaround (I wonder if the call you make to get the package always returns something even if the package is not around?). Another option would be that somehow you have the package in the build (deployment) classpath
  • as Yoann said, a proper way to push this information to JPA Modelgen. Relying on packages is brittle. If we have to change the packages at some point, we will need an ORM release. It can come in a second time but I don't think we will want to keep a Quarkus specific path in Hibernate ORM. It needs to be made more generic.

@FroMage
Copy link
Member

FroMage commented May 23, 2024

Also, I'm pretty sure we have tests in our CI that make sure the jpametamodel is generated for Panache, no?

@FroMage
Copy link
Member

FroMage commented May 23, 2024

a quick fix/workaround (I wonder if the call you make to get the package always returns something even if the package is not around?).

No, this is tested in jpamodelgen tests

Another option would be that somehow you have the package in the build (deployment) classpath

That'd be weird, no?

as Yoann said, a proper way to push this information to JPA Modelgen. Relying on packages is brittle. If we have to change the packages at some point, we will need an ORM release. It can come in a second time but I don't think we will want to keep a Quarkus specific path in Hibernate ORM. It needs to be made more generic

This is how jpamodelgen works. It does the same to detect @Inject and transactions, and Jakarta Data. I don't think it's brittle, we will never change these packages, they're part of our API.

@yrodiere
Copy link
Member

yrodiere commented May 23, 2024

as Yoann said, a proper way to push this information to JPA Modelgen. Relying on packages is brittle. If we have to change the packages at some point, we will need an ORM release. It can come in a second time but I don't think we will want to keep a Quarkus specific path in Hibernate ORM. It needs to be made more generic

This is how jpamodelgen works. It does the same to detect @Inject and transactions, and Jakarta Data. I don't think it's brittle, we will never change these packages, they're part of our API.

  1. CDI and Jakarta Data being standards that we integrate with in Hibernate ORM, they're another story entirely.
  2. I wouldn't say API never change.
  3. Even if they don't, you can always add new APIs in Panache.
  4. Hardcoding these things solves the problem for Panache, but not for anything else. It's dodgy at best, hostile to the rest of the ecosystem at worst.

EDIT: created https://hibernate.atlassian.net/browse/HHH-18159

@gsmet
Copy link
Member

gsmet commented May 23, 2024

@famod

Could you get the full dependency tree with ./mvnw quarkus:dependency-tree and see if there's anything suspicious?

Also, it will sound like a stupid question, but could you make sure you don't have the package in your app?

@FroMage
Copy link
Member

FroMage commented May 23, 2024

Also, can we have a reproducer? Because detection of Panache in the processor should have zero effect on generation of the metamodel.
Do you know if it's generated when compiled by Maven?
If you run with -X, perhaps you see an exception during annotation processing?

@famod
Copy link
Member Author

famod commented May 23, 2024

@FroMage

So, my patch is definitely not meant to turn off metamodel generation.

Thanks for confirming, I had a feeling that this warning might not hint at all at the actual root cause of entirely missing code generation.

Maybe it's related to the eclipse compiler (ECJ) which we are using via maven-compiler-plugin.

Will try to get more annotation processor output.

@FroMage
Copy link
Member

FroMage commented May 23, 2024

I've had issues where jpamodelgen processor errors where just hidden from me, very frustratingly.

@famod
Copy link
Member Author

famod commented May 23, 2024

Maybe it's related to the eclipse compiler (ECJ) which we are using via maven-compiler-plugin.

Confirmed, switching to the default compiler fixes both the warning and the actual metamodel generation.
Meaning something has changed in jpamodelgen in 6.5 that breaks it for ECJ.

This also means that a much smaller proportion of users is affected because (I think) the vast majority is using the default compiler.

Btw, I'm not fond of moving to the default compiler permanently because it's ~50% slower in my case.

@yrodiere yrodiere changed the title Regression (?) in 3.11.0 :: jpamodelgen does not run and logs a warning: "Both Quarkus Hibernate ORM and Hibernate Reactive with Panache detected: this is not supported, so will proceed as if none were there" Regression in 3.11.0: jpamodelgen WITH ECLIPSE COMPILER does not run and logs a warning: "Both Quarkus Hibernate ORM and Hibernate Reactive with Panache detected: this is not supported, so will proceed as if none were there" May 23, 2024
@FroMage
Copy link
Member

FroMage commented May 23, 2024

If you manage to get the processor to log things, you should see those logs:

			context.logMessage( Diagnostic.Kind.OTHER, "Starting new round" );
			try {
				processClasses( roundEnvironment );
				createMetaModelClasses();
			}
			catch (Exception e) {
				final StringWriter stack = new StringWriter();
				e.printStackTrace( new PrintWriter(stack) );
				final Throwable cause = e.getCause();
				final String message =
						cause != null && cause != e
								? e.getMessage() + " caused by " + cause.getMessage()
								: e.getMessage();
				context.logMessage( Diagnostic.Kind.ERROR, "Error running Hibernate processor: " + message );
				context.logMessage( Diagnostic.Kind.ERROR, stack.toString() );
			}

@famod
Copy link
Member Author

famod commented May 23, 2024

Ah, I obviously missed the fact that the metamodel classes are generated, but -X reveals e.g.:

1. ERROR in /home/famod/work/someproj/register/dev3/core/target/generated-sources/annotations/someproj/register/core/persistence/entity/_ApplicationLock.java (at line 4)
	import jakarta.data.metamodel.SortableAttribute;
	       ^^^^^^^^^^^^
The import jakarta.data cannot be resolved

Also affected: jakarta.data.metamodel.StaticMetamodel (which should be jakarta.persistence.metamodel.StaticMetamodel instead)

So it seems that somehow with ECJ that experimental Jakarta Data support is active?
https://github.com/hibernate/hibernate-orm/blob/6.5/migration-guide.adoc#jakarta-data

@FroMage
Copy link
Member

FroMage commented May 23, 2024

Yeah, ok, so what's most likely is that ECG will pretend that every package exists, so the entire jpamodelgen strategy for detecting things is broken in ECG. This is used for many other dependencies.

@FroMage
Copy link
Member

FroMage commented May 23, 2024

So, all those will be broken, I suppose:

		final PackageElement jakartaInjectPackage =
				context.getProcessingEnvironment().getElementUtils()
						.getPackageElement( "jakarta.inject" );
		final PackageElement jakartaAnnotationPackage =
				context.getProcessingEnvironment().getElementUtils()
						.getPackageElement( "jakarta.annotation" );
		final PackageElement jakartaContextPackage =
				context.getProcessingEnvironment().getElementUtils()
						.getPackageElement( "jakarta.enterprise.context" );
		final PackageElement jakartaTransactionsPackage =
				context.getProcessingEnvironment().getElementUtils()
						.getPackageElement( "jakarta.transactions" );
		final PackageElement jakartaDataPackage =
				context.getProcessingEnvironment().getElementUtils()
						.getPackageElement( "jakarta.data" );
		final PackageElement quarkusOrmPackage =
				context.getProcessingEnvironment().getElementUtils()
						.getPackageElement( "io.quarkus.hibernate.orm" );

		PackageElement quarkusOrmPanachePackage =
				context.getProcessingEnvironment().getElementUtils()
						.getPackageElement( "io.quarkus.hibernate.orm.panache" );
		PackageElement quarkusReactivePanachePackage =
				context.getProcessingEnvironment().getElementUtils()
						.getPackageElement( "io.quarkus.hibernate.reactive.panache" );

@famod
Copy link
Member Author

famod commented May 23, 2024

I can confirm via debugging that all those PackageElements are non-null with ECJ. Bummer!

@yrodiere
Copy link
Member

Thanks for the feedback @famod .

I created https://hibernate.atlassian.net/browse/HHH-18160 to address the problem upstream. That probably won't get solved in time for the Quarkus 3.11 platform release, though.

One workaround is to override the version of Jpamodelgen to 6.4.8.Final. It's not guaranteed to work, but there's a decent chance it does.

@famod
Copy link
Member Author

famod commented May 24, 2024

Thanks @yrodiere for backporting the fix already to Hibernate 6.5!

@cvgaviao
Copy link

cvgaviao commented Jun 13, 2024

After that fix I started to have one class and one interface being generated in my projects on Eclipse. :(

and the _BaseEntity one is with an error due a missing jakarta.data.metamodel package on the classpath

import jakarta.annotation.Generated;
import jakarta.persistence.metamodel.MappedSuperclassType;
import jakarta.persistence.metamodel.SingularAttribute;
import jakarta.persistence.metamodel.StaticMetamodel;
import java.time.ZonedDateTime;

@StaticMetamodel(BaseEntity.class)
@Generated("org.hibernate.processor.HibernateProcessor")
public abstract class BaseEntity_ {
import jakarta.annotation.Generated;
import jakarta.data.metamodel.SortableAttribute;
import jakarta.data.metamodel.StaticMetamodel;
import jakarta.data.metamodel.TextAttribute;
import jakarta.data.metamodel.impl.SortableAttributeRecord;
import jakarta.data.metamodel.impl.TextAttributeRecord;

@StaticMetamodel(BaseEntity.class)
@Generated("org.hibernate.processor.HibernateProcessor")
public interface _BaseEntity {

@yrodiere
Copy link
Member

Can I ask which fix are you talking about... ? https://hibernate.atlassian.net/browse/HHH-18019 is fixed in Hibernate ORM 6.5.3, which hasn't even been released yet.

If you need HHH-18019 to fix your Eclipse workspace, it's on its way.

If you have other problems with static model generation, I suggest you create an issue on the Hibernate Jira with a reproducer. Quarkus has little to do with that annotation processor, especially in your IDE.

@yrodiere yrodiere linked a pull request Jul 16, 2024 that will close this issue
@quarkus-bot quarkus-bot bot added this to the 3.14 - main milestone Aug 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/hibernate-orm Hibernate ORM area/hibernate-reactive Hibernate Reactive area/panache area/persistence OBSOLETE, DO NOT USE area/user-experience Will make us lose users kind/bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants