Commit Graph

654 Commits

Author SHA1 Message Date
Gavin King b2ec831e81 spec-compliant inference of entity type in @Query
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-28 10:03:27 +01:00
Stéphane Épardaud b16729b8a7 Update javax.transaction to jakarta.transaction 2024-03-27 16:27:38 +01:00
Gavin King 3fcf0e0f0c HHH-17895 add comment
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-27 11:39:53 +01:00
Gavin King 09e7b6dd16 HHH-17895 workaround for bug in Java 21
also be more careful about type annotations in comparing types

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-27 11:39:53 +01:00
Gavin King 6b9d6ef4fb HHH-17895 tests for Bean Validation annotations in Jakarta Data
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-27 11:39:53 +01:00
Gavin King 72fab5af89 HHH-17891 support method-level interceptors for JD repositories
as required by the spec

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-27 11:39:53 +01:00
Gavin King 40440a6089 HHH-17891 support toplevel interceptors for JD repositories
as required by the spec

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-27 11:39:53 +01:00
Gavin King 9b3c86f571 eliminate duplicate error messages
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-27 11:39:53 +01:00
Gavin King 8d238536ae test and fix for bug in repo method parameter checking
this lead to a TCK failure

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-27 11:39:53 +01:00
Gavin King 80792f5b8d more information about errors relating to inherited members in processor
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-27 11:39:53 +01:00
Gavin King 8148c32cd7 experimental support for reactive Jakarta Data repositories
some cleanup

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-27 11:39:53 +01:00
Gavin King fb4d91db8e experimental support for reactive Jakarta Data repositories
this time with uni-fied access to the M.SS

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-27 11:39:53 +01:00
Gavin King c9777dcd57 experimental support for reactive Jakarta Data repositories 2024-03-27 11:39:52 +01:00
Gavin King 1c6d272919 support for 'id(this)'
just changed this in JD
2024-03-27 11:39:52 +01:00
Gavin King a12d589e77 use getAllMembers() when resolving Jakarta Data paths 2024-03-25 18:06:00 +01:00
Gavin King 4dc437b9aa use createMutationQuery() and createSelectionQuery()
squashes a deprecation warning in Maven
2024-03-25 18:05:24 +01:00
Gavin King d1734a3964 add missing processor dependencies that are needed in Maven
Gradle didn't need these
2024-03-25 18:05:20 +01:00
Gavin King 2d9f633188 move Quarkus Repositories to normal scope 2024-03-25 18:05:14 +01:00
Gavin King 0ef576a19b simplification to JD generated code
because I got a requirement removed from spec
2024-03-25 18:05:09 +01:00
Gavin King 361c146928 HHH-17864 generate static metamodel fields for embeddables 2024-03-25 18:05:03 +01:00
Gavin King 69c5163d1b we changed Iterable -> List in Data spec 2024-03-25 18:04:43 +01:00
Gavin King 3676a9249b aesthetic fix to the processor-generated jdoc 2024-03-25 18:04:21 +01:00
Gavin King bac64565cd HHH-17860 report bad return type for @Delete 2024-03-25 18:04:18 +01:00
Gavin King c552c24c88 HHH-17860 query-based @Delete 2024-03-25 18:04:14 +01:00
Gavin King 3c1cdec461 HHH-17875 validate association mappings in processor 2024-03-25 18:03:57 +01:00
Gavin King 50af2eef15 introduce @Suppress annotation to disable processor 2024-03-25 18:03:52 +01:00
Gavin King 8bc09c976a HHH-17875 validate association mappings in processor 2024-03-25 18:03:48 +01:00
Gavin King 985887964d HHH-17873 handle generic supertypes of repositories 2024-03-25 18:03:09 +01:00
Gavin King ae56e16b6d HHH-17873 much better and now spec-compliant handling of repo inheritance
I got the spec changed to make this good :)
2024-03-25 18:03:06 +01:00
Gavin King 2a498d7c7d HHH-17873 some handling for generics in lifecycle method signatures 2024-03-25 18:03:02 +01:00
Gavin King 394d0c8ab2 HHH-17873 initial impl of repository inheritance
needed for Jakarta Data, and useful
limited to single inheritance for now
2024-03-25 18:02:58 +01:00
Gavin King 0d0f8754ca fix and test for KeyedResultList with EntityManager
missing an unwrap()
also fix up some whitespace
2024-03-20 16:28:57 -05:00
Gavin King bcc3ea60de HHH-17868 introduce @Pattern annotation 2024-03-20 11:29:32 +01:00
Gavin King b5bfe07d36 support for @By("#id") in Jakarta Data parameters 2024-03-18 23:08:10 +01:00
Gavin King 5cd6ec4b54 add more Jakarta Data test method signatures 2024-03-18 23:08:10 +01:00
Gavin King 4bb5bc60e9 allow @Query methods to return array 2024-03-18 16:07:09 +01:00
Gavin King 813ae8ed9d cleanup hacks in repo method return type handling 2024-03-18 16:07:09 +01:00
Gavin King f8c0df8724 better handling of boxed types in @Find method parameter checking 2024-03-18 12:44:45 +01:00
Gavin King 008090b60e treat a multivalued param of @Find method as an 'in' condition
exactly as I'm proposing for Jakarta Data
2024-03-18 11:47:37 +01:00
Gavin King 6441c60255 HHH-17859, HHH-17858 function() and column() functions 2024-03-17 11:14:57 +01:00
Gavin King e3f069a5cd add a ProcessLaterException to fix refs in @OrderBy 2024-03-15 01:21:29 +01:00
Gavin King fbebc65f0a string names for JD static metamodel were not generated 2024-03-15 01:21:29 +01:00
Gavin King 3e8b1b37be HHH-17851 fix three bugs in Jakarta Data impl
- overloaded lifecycle methods
- handling of delimited compound names
- some missing imports
2024-03-14 23:41:42 +01:00
Laurent SCHOELENS 6941ddd58c HHH-17579 fix classloader issues with JAXBContext since JDK11 2024-03-14 16:13:45 +01:00
Gavin King 0e3791cb64 fix two very minor bugs in generated newlines 2024-03-09 19:58:08 +01:00
Gavin King c3bbd193c8 implement support for requestTotals() in processor
also fix up some newline handling
2024-03-09 17:49:35 +01:00
Gavin King 7773e28b2c update to latest JD snapshot build 2024-03-09 13:25:20 +01:00
Akshit97 feac98e43a HHH-17817 - Add option to Enable Byte Code Enhancement for specific classes 2024-03-07 12:13:38 -06:00
Gavin King 5a36652b20 use e.printStackTrace(PrintWriter)
as suggested by @beikov
2024-03-07 12:52:53 +01:00
Gavin King f591ce1b36 allow compound paths in JD @By annotation 2024-03-06 08:13:16 +01:00
Gavin King ebd72f8470 handle generic-typed parameters of query methods 2024-03-05 20:58:32 +01:00
Gavin King 19023a491e report error if parameter of @Find matches a collection 2024-03-05 20:58:32 +01:00
Gavin King db1b3b3f40 HHH-17807 add test 2024-03-05 19:04:10 +01:00
Gavin King 691a2d8109 HHH-17807 fix array-typed query method parameters 2024-03-05 19:04:10 +01:00
Marco Belladelli 096b667520 HHH-17805 Fix jpamodelgen quarkus/jd tests with jdk >= 17 2024-03-05 10:53:18 +01:00
Gavin King 9b4e61c984 HHH-17778 add a stub for the old processor
as requested by @beikov
2024-03-01 22:58:59 +01:00
Gavin King 4bc4ffe056 HHH-17778 rename jpametamodelgen -> processor 2024-03-01 22:58:59 +01:00
Gavin King 7636d78feb HHH-17778 rename JPAMetaModelEntityProcessor -> HibernateProcessor 2024-03-01 22:58:59 +01:00
Gavin King 1c46c0060f HHH-17772 use new record types to impl static metamodel 2024-03-01 21:35:25 +01:00
Gavin King 9014182e3c HHH-17772 improve the test 2024-03-01 21:35:25 +01:00
Gavin King 2beb85e695 HHH-17772 support for returning the argument from lifecycle methods 2024-03-01 21:35:25 +01:00
Gavin King ca12a4c874 tests for Jakarta Data
thanks @FroMage and others for giving me an example of how to do this
2024-03-01 20:16:37 +01:00
Gavin King af285657db add missing static imports to generated source 2024-03-01 19:21:26 +01:00
Gavin King 11fa929f20 minor code changes to generator 2024-03-01 19:21:26 +01:00
Stéphane Épardaud 6dfdbe197f Make Panache tests run as part of regular tests 2024-03-01 18:24:07 +01:00
Christian Beikov 9e323963f0 Configure separate source directories for HR and ORM Quarkus Panache tests 2024-03-01 18:24:07 +01:00
Christian Beikov 1fe9c66fb4 Fix Gradle configuration issues 2024-03-01 18:24:07 +01:00
Stéphane Épardaud 85abce26f5 TestUtil: include entire diagnostic on failure
This way we get the line number
2024-03-01 18:24:07 +01:00
Stéphane Épardaud 7c453fb6b6 Start of tests 2024-03-01 18:24:07 +01:00
Stéphane Épardaud b32296ff32 Auto-detect quarkus and default to dao with the proper session type
Unless there's a different session getter defined
2024-03-01 18:24:07 +01:00
Stéphane Épardaud 5b184caf9b Make sure reactive update/delete return a Uni of Integer or Void 2024-03-01 18:24:07 +01:00
Stéphane Épardaud 06136ba5ec Make sure ununi does not throw given a Uni<T> 2024-03-01 18:24:07 +01:00
Stéphane Épardaud ed29057315 Support default session getters
In which case, we don't store the session in the DAO, we always call the getter
2024-03-01 18:24:07 +01:00
Stéphane Épardaud 1f3aed022c Support ORM/HR+Panache
- Allow `@Find`/`@*QL` methods on `native` methods
- Look at session getters to find their session types, but never make
  DAOs for Panache entities or repositories (we want generated static methods)
2024-03-01 18:24:07 +01:00
Stéphane Épardaud 36c9ce9d20 Support sessions of type Uni<Mutiny.Session> 2024-03-01 18:24:07 +01:00
Gavin King 3ca494be79 HHH-17772 allow array as return type for @Find methods
add tests
2024-03-01 12:22:08 +01:00
Gavin King 7ad39a86e9 HHH-17772 allow array as return type for @Find methods
as required by Jakarta Data
2024-03-01 12:22:08 +01:00
Gavin King 25d0899f28 HHH-17772 new approach to PU injection in Quarkus
as discussed with @FroMage
2024-03-01 11:07:39 +01:00
Gavin King 5d2527383e HHH-17772 cleanup after sorting rework 2024-02-29 20:42:52 +01:00
Gavin King 7f4f760ac8 HHH-17772 cleanup disabled code 2024-02-29 20:42:52 +01:00
Gavin King faec7c1a67 HHH-17772 redesign + unify handling of sorting 2024-02-29 20:42:52 +01:00
Gavin King 4ce2d317e5 HHH-17772 support Jakarta Data Page and Slice as return types 2024-02-29 13:16:47 +01:00
Gavin King 4fe6dad95b HHH-17772 support KeysetAwarePage from Jakarta Data
+ fix some bugs
2024-02-29 07:53:57 +01:00
Gavin King 9e5ce60ac1 HHH-17772 support KeysetAwareSlice from Jakarta Data
significant refactoring
2024-02-29 01:31:49 +01:00
Gavin King 128859c3c8 HHH-17779 test new key-based pagination API generator 2024-02-27 22:11:48 +01:00
Gavin King 8c9e4f68bf HHH-17779 support new key-based pagination API in generator 2024-02-27 22:11:48 +01:00
Christian Beikov 7713a074af Also exclude Jakarta Data tests from Java 17+ runs 2024-02-27 09:56:36 +01:00
Gavin King 568ad5804e HHH-17772 support @OrderBy for @Query methods 2024-02-26 11:56:51 +01:00
Gavin King df84bcd84e HHH-17772 support Jakarta Data PageRequest as a parameter 2024-02-25 23:25:22 +01:00
Gavin King be448afdab HHH-17772 allow lifecycle methods accepting arrays/iterables
as required by Jakarta Data
2024-02-25 21:34:20 +01:00
Gavin King f73d7aac9f add test coverage for Option and Stream return types 2024-02-25 21:34:20 +01:00
Gavin King bfce032efc add test coverage for Option and Stream return types 2024-02-25 21:34:20 +01:00
Gavin King 50c67a410e reduce visibility of repository constructor 2024-02-25 21:34:20 +01:00
Gavin King b039eecd8e allow query and finder methods to return Stream
required by Jakarta Data spec
2024-02-25 21:34:20 +01:00
Gavin King 18bbbbb865 allow query and finder methods to return Optional
required by Jakarta Data spec
2024-02-25 21:34:20 +01:00
Gavin King 7e9b55ff92 HHH-17772 add option to suppress JD metamodel
- also squash an error
- and improve report bug reporting
2024-02-24 22:45:15 +01:00
Gavin King 582d736062 HHH-17772 rework processor bookkeeping 2024-02-24 22:45:15 +01:00
Gavin King 67a5590316 HHH-17772 Jakarta Data static metamodel 2024-02-24 22:45:15 +01:00
Gavin King a23792ca1b HHH-17772 Jakarta Data static metamodel 2024-02-24 22:45:15 +01:00
Gavin King d6125e21f5 HHH-17772 make Jakarta Data repositories into proper CDI components 2024-02-24 14:49:06 +01:00