Commit Graph

654 Commits

Author SHA1 Message Date
gtoison 55781039fe HHH-17994 defensive check for the case when classNames wasn't set
(cherry picked from commit 08127f28df)
2024-04-22 15:16:41 -05:00
Gavin King a7ad74f75f fix error message when repository backed by regular session returns Uni
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-19 21:43:26 +02:00
Gavin King 2a8fef4386 allow @Find @Nullable and @Query @Nullable
to return null from a repository method

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-12 13:34:22 +02:00
Gavin King 37195c21e1 better impl of repository id lookup methods returning Optional
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-12 13:34:18 +02:00
Gavin King 0007f6a8a0 improve Jakarta Data exception messages
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-12 13:34:01 +02:00
Gavin King 82518862ae fix exceptions thrown from by-id @Find method
previously, for SS it would just return null

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-12 13:33:58 +02:00
Gavin King 0c6d3595a8 fix exceptions thrown from JD lifecycle method
SS does not do exception translation

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-12 13:33:54 +02:00
Gavin King 82ef400705 slightly simplify generated code for pagination using static imports
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-12 13:32:27 +02:00
Gavin King 5d611e63b7 update generated pagination code to new JD PageRequest API
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-12 13:32:19 +02:00
Christian Beikov 94f17a92e0 HHH-17904 Introduce config property to enable native enum type 2024-04-10 14:11:44 +02:00
Gavin King 96855d0525 retain type use annotation in return types and simplify code
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-09 10:05:47 +02:00
Gavin King 8053ed9cec better cooperation with other Jakarta Data implementations
and with Scott's preprocessor

produce WARNINGs instead of ERRORs in some cases

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-09 10:05:44 +02:00
Gavin King 42d2f07e03 add a test and a comment
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-09 10:05:41 +02:00
Gavin King 594bc89943 properly include repeatable annotations in @SupportedAnnotationTypes
this is required (see javadoc of Processor)

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-09 10:05:37 +02:00
Gavin King ef934fb09f make Jakarta Data static metamodel into interfaces
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-09 10:05:32 +02:00
Gavin King 0ef361ae0c add to tests
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-09 10:05:27 +02:00
Gavin King 4b7a740d7e validate that paginated query methods have a well-defined ordering
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-09 10:05:22 +02:00
Gavin King 0d872baf94 sync to latest spec and removal of sorting from PageRequest
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-09 10:05:18 +02:00
Gavin King 1779a7145a improve 'this' emulation for @Query methods
for Jakarta Data TCK work

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-09 10:05:15 +02:00
Gavin King 25e76ef64d look for primary entity type in indirectly-implemented interfaces
for Jakarta Data TCK work

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-09 10:05:09 +02:00
Gavin King ca54b2b09f add tests reflecting things in Jakarta Data TCK
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-09 10:05:05 +02:00
Gavin King e0111d3655 remove unnecessary code, fixing bug in generated imports
for Jakarta Data TCK work

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-09 10:05:02 +02:00
Gavin King 03246e34a4 tolerate Set + Collection for multivalued @Query parameters
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-09 10:04:52 +02:00
Gavin King 08d5da7844 simplification, use getAllMembers() in processor
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:38:36 +02:00
Gavin King a12a2cad80 support for queries defined in intermediate classes
for our work on the Jakarta Data TCK

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:38:30 +02:00
Gavin King 7d80b8a3db fix to @OrderBy for @Query methods with primary entity type
don't think this is even strictly-speaking required by Jakarta Data
but we will allow it

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:38:22 +02:00
Gavin King dcfc254635 fix another bug in detecting when a repo method param is multivalued
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:38:18 +02:00
Gavin King d99309db52 fix a bug in detecting when a repo method param is multivalued
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:38:14 +02:00
Gavin King 8db57d791b when CDI is missing, do still add an @Inject annotation on the constructor
at least when jakarta.inject is available

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:38:11 +02:00
Gavin King 01ee8eacd8 when CDI is missing, don't create default constructor for injection
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:38:08 +02:00
Gavin King b2e572fc30 add a couple of extra tests for Jakarta Data
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:38:04 +02:00
Gavin King 427de60322 fix for Bean Validation annotations on @Query method parameters
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:38:01 +02:00
Gavin King af3b9f011b simplify the generated code for cursored pagination
as suggested by Nathan Rauh

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:37:56 +02:00
Gavin King 985ea18a5a fix cursored previous page navigation
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:37:53 +02:00
Gavin King 0745ed0770 fix bug where type annotations got generated onto Class literals
needed for Jakarta Data TCK

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:37:49 +02:00
Gavin King af153b00fb fix bug in handling of 'this', fix error locations for HQL validation
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:37:45 +02:00
Gavin King 0f5827a7d1 allow binding Lists to 'in' condition parameters for @Query method
required by Jakarta Data, and generally very useful!

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:37:39 +02:00
Gavin King 17ab28a220 allow long as return type of mutation @Query method
required by Jakarta Data

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:37:31 +02:00
Gavin King 31b5af94c1 HHH-17882 test for list of warnings in addSuppressWarningsAnnotation
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:37:27 +02:00
Gavin King 16ebcc427b HHH-17882 accept a list of warnings to suppress in addSuppressWarningsAnnotation
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:37:21 +02:00
Gavin King 26beb3db64 tolerate badly-typed PageRequest parameters
as required by Jakarta Data TCK

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:37:13 +02:00
Gavin King 1551afc4ef minor cleanup to annotation handling in processor
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:37:08 +02:00
Gavin King 108374d4f0 let a handwritten metamodel "override" the generated one
used in the JD TCK (ffff)

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:37:03 +02:00
Gavin King e829a01aee fix a bug in @Query handling
add a test for empty query string in @Query

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:36:51 +02:00
Gavin King 6de223572e handle unqualified enum values in @Query
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:36:23 +02:00
Gavin King 8caa7096fb make fully-qualified enum literals in @Query pass the validation
JD examples and TCK require this, though it's not really correct

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 16:36:18 +02:00
Gavin King c32f0a08fa hack in acceptance of PageRequest<?>
JD examples and TCK require this, though it's not really correct

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-28 10:03:28 +01:00
Gavin King 091ba9af76 fix bug in checking of PageRequest type arg
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-28 10:03:28 +01:00
Gavin King 39fb5a6549 support 'this' with @Query repository methods
in a very temporary way

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-28 10:03:28 +01:00
Gavin King 49d440e653 fix handling of @By("id(this)")
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-28 10:03:27 +01:00