From f543833582baffd6cb557479ff16055facdc883f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=8Cedomir=20Igaly?= Date: Thu, 19 Dec 2024 22:23:43 +0100 Subject: [PATCH] Added query 'from Post p where p.name = lower(:name)' Passing for Jakarta Data meta model class, but for JPA is failing - Parameter is List instead of String --- .../hibernate/processor/test/data/multivaluebinding/Post.java | 1 + .../processor/test/data/multivaluebinding/PostRepository.java | 3 +++ .../processor/test/data/multivaluebinding/TopicPostTest.java | 4 ++++ 3 files changed, 8 insertions(+) diff --git a/tooling/metamodel-generator/src/jakartaData/java/org/hibernate/processor/test/data/multivaluebinding/Post.java b/tooling/metamodel-generator/src/jakartaData/java/org/hibernate/processor/test/data/multivaluebinding/Post.java index d3f3e5a3c397..76d5f2b21487 100644 --- a/tooling/metamodel-generator/src/jakartaData/java/org/hibernate/processor/test/data/multivaluebinding/Post.java +++ b/tooling/metamodel-generator/src/jakartaData/java/org/hibernate/processor/test/data/multivaluebinding/Post.java @@ -10,6 +10,7 @@ @Entity @NamedQuery(name = "#getPostsByName", query = "from Post p where p.name in (:names)") +@NamedQuery(name = "#getPostsByNameIgnoreCase", query = "from Post p where p.name = lower(:name)") public class Post { @Id Integer id; diff --git a/tooling/metamodel-generator/src/jakartaData/java/org/hibernate/processor/test/data/multivaluebinding/PostRepository.java b/tooling/metamodel-generator/src/jakartaData/java/org/hibernate/processor/test/data/multivaluebinding/PostRepository.java index 4125356a5a24..4f9c2e01f1aa 100644 --- a/tooling/metamodel-generator/src/jakartaData/java/org/hibernate/processor/test/data/multivaluebinding/PostRepository.java +++ b/tooling/metamodel-generator/src/jakartaData/java/org/hibernate/processor/test/data/multivaluebinding/PostRepository.java @@ -16,4 +16,7 @@ public interface PostRepository extends DataRepository { @Query("from Post p where p.name in (:names)") List getPostsByName(Collection names); + + @Query("from Post p where p.name = lower(:name)") + List getPostsByNameIgnoreCase(String name); } diff --git a/tooling/metamodel-generator/src/jakartaData/java/org/hibernate/processor/test/data/multivaluebinding/TopicPostTest.java b/tooling/metamodel-generator/src/jakartaData/java/org/hibernate/processor/test/data/multivaluebinding/TopicPostTest.java index ec2a8497a4ee..d77c5ab30a52 100644 --- a/tooling/metamodel-generator/src/jakartaData/java/org/hibernate/processor/test/data/multivaluebinding/TopicPostTest.java +++ b/tooling/metamodel-generator/src/jakartaData/java/org/hibernate/processor/test/data/multivaluebinding/TopicPostTest.java @@ -48,5 +48,9 @@ public void test() { else { fail(); } + + assertPresenceOfMethodInMetamodelFor( PostRepository.class, "getPostsByNameIgnoreCase", String.class ); + + assertPresenceOfMethodInMetamodelFor( Post.class, "getPostsByNameIgnoreCase", EntityManager.class, String.class ); } }