This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/causeway.git


The following commit(s) were added to refs/heads/main by this push:
     new aaf7284576a CAUSEWAY-2297: adds missing dep manag entry in BOM
aaf7284576a is described below

commit aaf7284576a5bb31eb37e72a9fb20fb9106a3ffc
Author: andi-huber <[email protected]>
AuthorDate: Mon Aug 11 07:59:43 2025 +0200

    CAUSEWAY-2297: adds missing dep manag entry in BOM
    
    - also removes an unchecked cast in JpaEntityFacet
---
 bom/pom.xml                                        |  7 +++++++
 .../jpa/integration/entity/JpaEntityFacet.java     | 22 +++++++++++-----------
 2 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/bom/pom.xml b/bom/pom.xml
index ee408cff49f..5646273412d 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -1284,6 +1284,13 @@ identified
                 <type>jar</type>
                 <scope>compile</scope>
             </dependency>
+            <dependency>
+                <groupId>org.apache.causeway.extensions</groupId>
+                <artifactId>causeway-extensions-tabular-pdf</artifactId>
+                <version>3.5.0-SNAPSHOT</version>
+                <type>jar</type>
+                <scope>compile</scope>
+            </dependency>
             <dependency>
                 <groupId>org.apache.causeway.extensions</groupId>
                 <artifactId>causeway-extensions-fullcalendar</artifactId>
diff --git 
a/persistence/jpa/integration/src/main/java/org/apache/causeway/persistence/jpa/integration/entity/JpaEntityFacet.java
 
b/persistence/jpa/integration/src/main/java/org/apache/causeway/persistence/jpa/integration/entity/JpaEntityFacet.java
index 8991e1bd4c5..ec31d00ec65 100644
--- 
a/persistence/jpa/integration/src/main/java/org/apache/causeway/persistence/jpa/integration/entity/JpaEntityFacet.java
+++ 
b/persistence/jpa/integration/src/main/java/org/apache/causeway/persistence/jpa/integration/entity/JpaEntityFacet.java
@@ -24,6 +24,7 @@
 import jakarta.inject.Inject;
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.PersistenceUnitUtil;
+import jakarta.persistence.TypedQuery;
 
 import org.jspecify.annotations.NonNull;
 import org.jspecify.annotations.Nullable;
@@ -37,7 +38,6 @@
 import org.apache.causeway.applib.services.repository.EntityState;
 import org.apache.causeway.commons.collections.Can;
 import org.apache.causeway.commons.internal.assertions._Assert;
-import org.apache.causeway.commons.internal.base._Casts;
 import org.apache.causeway.commons.internal.exceptions._Exceptions;
 import 
org.apache.causeway.core.config.beans.CausewayBeanMetaData.PersistenceStack;
 import org.apache.causeway.core.metamodel.facetapi.FacetAbstract;
@@ -133,16 +133,7 @@ public Can<ManagedObject> fetchByQuery(final Query<?> 
query) {
             // guard against misuse
             _Assert.assertTypeIsInstanceOf(queryEntityType, entityClass);
 
-            var entityManager = getEntityManager();
-
-            var cb = entityManager.getCriteriaBuilder();
-            var cr = cb.createQuery(entityClass);
-
-            cr.select(_Casts.uncheckedCast(cr.from(entityClass)));
-
-            var typedQuery = entityManager
-                    .createQuery(cr);
-
+            var typedQuery = selectFrom(entityClass);
             if (range.hasOffset()) {
                 typedQuery.setFirstResult(range.getStartAsInt());
             }
@@ -280,5 +271,14 @@ protected EntityManager getEntityManager() {
     protected PersistenceUnitUtil getPersistenceUnitUtil(final EntityManager 
entityManager) {
         return 
entityManager.getEntityManagerFactory().getPersistenceUnitUtil();
     }
+    
+    // -- HELPER
 
+    private <T> TypedQuery<T> selectFrom(Class<T> entityClass) {
+        var entityManager = getEntityManager();
+        var q = entityManager.getCriteriaBuilder().createQuery(entityClass);
+        q.select(q.from(entityClass));
+        return entityManager
+                .createQuery(q);
+    }
 }

Reply via email to