Gavin King
386bb1138a
HHH-18216 delegate @Save to insert() when entity has no id assigned
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-02 13:32:51 +02:00
Steve Ebersole
88ec2fe38b
Fix extended test SourceSets for hibernate-processor
2024-05-30 07:24:29 -05:00
Gavin King
9ac37a19c0
HHH-18179 incorrect warning issued for mappedBy with property access
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-29 17:57:20 +02:00
Gavin King
a33b340778
fix a comment
...
for some reason my fingers always make this mistake
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-27 09:34:47 +02:00
Gavin King
ebd8619f73
HHH-18162 index creation in HibernateProcessor
...
This stores an index of entities and enum values in the
entity.index directory. This approach has some downsides
but works around some limitations of the processor API.
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-23 23:09:07 +02:00
Cedomir Igaly
00aad06520
HHH-18106 - Implemented Java constant field resolution for MockSessionFactory
2024-05-22 18:39:49 +02:00
Cedomir Igaly
8d2a0047e0
HHH-18106 - Test case
2024-05-22 18:39:49 +02:00
Cedomir Igaly
e73eb458b4
HHH-18106 - Handling source element in @WithClasses annotation
2024-05-22 18:39:49 +02:00
Cedomir Igaly
4e41ee9bcd
HHH-18106 - Duplicated methods working with Class to accept class name String
2024-05-22 18:39:49 +02:00
Cedomir Igaly
83fe6f06bc
HHH-18106 - Added source element to list Java sources from resource directory structure
2024-05-22 18:39:49 +02:00
Marco Belladelli
2e9acf1ded
HHH-18125 Support for `type()` and `treat()` operators for Embeddables
2024-05-22 15:59:03 +02:00
Gavin King
cd577a813b
HHH-18019 fix package present detection on ecj
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-22 12:36:23 +02:00
Gavin King
b30b510381
HHH-18149 fix for HibernateProcessor on ecj
...
A typecast which works on javac doesn't work on ecj,
but I agree that ecj is correct here.
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-22 11:27:14 +02:00
Andrea Boriero
31e3be15bf
HHH-17514 Add test for issue to show that it has alredy been resolved
2024-05-21 09:48:44 +02:00
Gavin King
5a89a31e63
HHH-18137 private fields inherited from supertypes in HibernateProcessor
...
Elements.getAllMembers() does not do what it appears to do
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-20 22:41:06 +02:00
Stéphane Épardaud
1948c8f2bd
HHH-17960: Fix proper default session type for JD repositories even in Quarkus
...
And tests
2024-05-14 17:04:04 +02:00
Cedomir Igaly
9f06bbb69e
HHH-18102 Patch fixing the problem
2024-05-13 18:37:45 +02:00
Cedomir Igaly
6bf358d324
HHH-18102 - Test case showing the problem
2024-05-13 18:37:45 +02:00
Cedomir Igaly
fd3cb949a7
HHH-18102 Little bit of cosmetics to allow merging with PR 8095; it is not affecting any logic
2024-05-13 18:37:45 +02:00
Gavin King
fec6f862d9
fix problem in definition of @WithProcessorOption
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-07 20:20:16 +02:00
Gavin King
503cd3e9ed
add test for include/exclude
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-07 20:20:16 +02:00
Gavin King
ccaefc168a
introduce include/exclude options for HibernateProcessor
...
and rename @Suppress -> @Exclude
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-07 20:20:16 +02:00
Christian Beikov
940c898ecf
Various improvements:
...
* Sprinkle some @Nullable annotations to better understand nullness guarantees
* Fix some potential NPEs
* Improve Oracle array_agg emulation
* Prepare for aggregate component array support
2024-05-03 16:49:39 +02:00
Gavin King
5ab2d83bd8
produce meaningful error if reactive repo method does not return Uni
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-27 00:07:10 +02:00
gtoison
08127f28df
HHH-17994 defensive check for the case when classNames wasn't set
2024-04-22 15:15:44 -05:00
Gavin King
adec141a7f
fix error message when repository backed by regular session returns Uni
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-14 23:55:25 +02:00
Gavin King
b7af56ac76
allow @Find @Nullable and @Query @Nullable
...
to return null from a repository method
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-11 23:59:54 +02:00
Gavin King
f6b366fa41
better impl of repository id lookup methods returning Optional
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-11 22:40:46 +02:00
Gavin King
04d22686bb
improve Jakarta Data exception messages
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-11 19:42:26 +02:00
Gavin King
23dc51d291
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-11 19:42:26 +02:00
Gavin King
0da311e022
fix exceptions thrown from JD lifecycle method
...
SS does not do exception translation
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-11 19:42:26 +02:00
Gavin King
a2ac984162
slightly simplify generated code for pagination using static imports
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-10 17:08:38 +02:00
Gavin King
98c79ce53e
update generated pagination code to new JD PageRequest API
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-10 15:54:34 +02:00
Gavin King
ec8cdd9dbb
retain type use annotation in return types and simplify code
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-06 21:43:59 +02:00
Gavin King
4c1285b609
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-06 17:40:21 +02:00
Gavin King
baa24d6889
add a test and a comment
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-06 11:49:05 +02:00
Gavin King
e43ae41f2d
properly include repeatable annotations in @SupportedAnnotationTypes
...
this is required (see javadoc of Processor)
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-06 11:49:05 +02:00
Gavin King
b0368e7135
make Jakarta Data static metamodel into interfaces
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-05 23:52:21 +02:00
Gavin King
66838ef44b
add to tests
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-05 01:26:25 +02:00
Gavin King
15a2d5cb8b
validate that paginated query methods have a well-defined ordering
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-05 01:26:25 +02:00
Gavin King
a8f6872249
sync to latest spec and removal of sorting from PageRequest
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-05 01:26:25 +02:00
Gavin King
ceefdd162a
improve 'this' emulation for @Query methods
...
for Jakarta Data TCK work
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-05 01:26:25 +02:00
Gavin King
6b1b8d65ed
look for primary entity type in indirectly-implemented interfaces
...
for Jakarta Data TCK work
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-04 12:16:45 +02:00
Gavin King
ff0e676825
add tests reflecting things in Jakarta Data TCK
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-04 12:16:45 +02:00
Gavin King
e748619dd6
remove unnecessary code, fixing bug in generated imports
...
for Jakarta Data TCK work
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-04 12:16:45 +02:00
Gavin King
dcacbadd5f
tolerate Set + Collection for multivalued @Query parameters
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-03 12:56:22 +02:00
Gavin King
8992cbbbde
simplification, use getAllMembers() in processor
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-02 11:11:25 +02:00
Gavin King
f51d8dbe0d
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 11:11:25 +02:00
Gavin King
e21d139a84
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-03-31 20:58:49 +02:00
Gavin King
c7852feb55
fix another bug in detecting when a repo method param is multivalued
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-31 20:13:33 +02:00
Gavin King
38a41e0044
fix a bug in detecting when a repo method param is multivalued
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-31 20:13:33 +02:00
Gavin King
70f906045a
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-03-31 14:52:41 +02:00
Gavin King
c945b16b4f
when CDI is missing, don't create default constructor for injection
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-31 00:05:11 +01:00
Gavin King
6c91c0c234
add a couple of extra tests for Jakarta Data
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-30 15:49:30 +01:00
Gavin King
dd7aa947c1
fix for Bean Validation annotations on @Query method parameters
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-30 15:49:30 +01:00
Gavin King
f6add9dbbb
simplify the generated code for cursored pagination
...
as suggested by Nathan Rauh
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-29 23:47:44 +01:00
Gavin King
6beb011369
fix cursored previous page navigation
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-29 16:48:15 +01:00
Gavin King
74c026b27d
fix bug where type annotations got generated onto Class literals
...
needed for Jakarta Data TCK
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-29 16:48:15 +01:00
Gavin King
3370dc81bc
fix bug in handling of 'this', fix error locations for HQL validation
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-29 16:48:15 +01:00
Gavin King
eb1b78ff0b
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-03-29 16:48:15 +01:00
Gavin King
473965f228
allow long as return type of mutation @Query method
...
required by Jakarta Data
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-29 16:48:15 +01:00
Gavin King
b281d8b801
HHH-17882 test for list of warnings in addSuppressWarningsAnnotation
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-29 12:42:02 +01:00
Gavin King
3cfec2fd91
HHH-17882 accept a list of warnings to suppress in addSuppressWarningsAnnotation
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-29 12:42:02 +01:00
Gavin King
b88d496c76
tolerate badly-typed PageRequest parameters
...
as required by Jakarta Data TCK
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-29 10:50:53 +01:00
Gavin King
024fd31a3c
minor cleanup to annotation handling in processor
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-29 10:22:37 +01:00
Gavin King
f32bb7276f
let a handwritten metamodel "override" the generated one
...
used in the JD TCK (ffff)
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-29 08:43:21 +01:00
Gavin King
b755048551
fix a bug in @Query handling
...
add a test for empty query string in @Query
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-28 23:09:48 +01:00
Gavin King
ce317960fc
handle unqualified enum values in @Query
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-28 22:32:41 +01:00
Gavin King
f0c9d4ec4c
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-03-28 22:32:41 +01:00
Christian Beikov
d423b52be3
HHH-17904 Introduce config property to enable native enum type
2024-03-28 17:02:20 +01:00
Gavin King
bab8b98a59
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 02:00:16 +01:00
Gavin King
ccbb84a6c4
fix bug in checking of PageRequest type arg
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-28 02:00:16 +01:00
Gavin King
8aaf0c7c9d
support 'this' with @Query repository methods
...
in a very temporary way
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-28 00:41:01 +01:00
Gavin King
e1bcd01321
fix handling of @By("id(this)")
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-28 00:41:01 +01:00
Gavin King
2955e0b91d
spec-compliant inference of entity type in @Query
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-28 00:41:01 +01:00
Stéphane Épardaud
975f471c85
Update javax.transaction to jakarta.transaction
2024-03-27 16:26:27 +01:00
Gavin King
ed9d7c60a6
HHH-17895 add comment
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-27 11:09:10 +01:00
Gavin King
3315135d90
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:09:10 +01:00
Gavin King
823d0de8d5
HHH-17895 tests for Bean Validation annotations in Jakarta Data
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-27 11:09:10 +01:00
Gavin King
ccf5fcc5b2
HHH-17891 support method-level interceptors for JD repositories
...
as required by the spec
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-26 20:43:48 +01:00
Gavin King
c08b8f8c38
HHH-17891 support toplevel interceptors for JD repositories
...
as required by the spec
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-26 20:43:48 +01:00
Gavin King
e37ca54981
eliminate duplicate error messages
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-26 17:57:52 +01:00
Gavin King
526ab68264
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-26 17:57:52 +01:00
Gavin King
d44f48bcd2
more information about errors relating to inherited members in processor
...
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-26 16:10:37 +01:00
Gavin King
b4c1b636c5
experimental support for reactive Jakarta Data repositories
...
some cleanup
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-03-26 13:23:47 +01:00
Gavin King
c5f9ada2fc
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-26 13:23:47 +01:00
Gavin King
d52edeb0e5
experimental support for reactive Jakarta Data repositories
2024-03-26 13:23:47 +01:00
Gavin King
7b189d0200
support for 'id(this)'
...
just changed this in JD
2024-03-25 22:25:44 +01:00
Gavin King
6eb01d2832
use getAllMembers() when resolving Jakarta Data paths
2024-03-25 13:27:18 +01:00
Gavin King
f505373258
use createMutationQuery() and createSelectionQuery()
...
squashes a deprecation warning in Maven
2024-03-24 18:27:34 +01:00
Gavin King
f78c6da4f7
add missing processor dependencies that are needed in Maven
...
Gradle didn't need these
2024-03-24 12:00:42 +01:00
Gavin King
1a2c1a67a5
move Quarkus Repositories to normal scope
2024-03-23 21:26:21 +01:00
Gavin King
dc4c87c182
simplification to JD generated code
...
because I got a requirement removed from spec
2024-03-23 16:53:32 +01:00
Gavin King
f3dd73dd2f
HHH-17864 generate static metamodel fields for embeddables
2024-03-23 16:11:50 +01:00
Gavin King
b7038b2294
we changed Iterable -> List in Data spec
2024-03-23 13:07:01 +01:00
Gavin King
c7504d4ada
aesthetic fix to the processor-generated jdoc
2024-03-22 22:25:50 +01:00
Gavin King
8b021ac01f
HHH-17860 report bad return type for @Delete
2024-03-22 18:49:59 +01:00
Gavin King
c3e210e923
HHH-17860 query-based @Delete
2024-03-22 18:17:16 +01:00
Gavin King
f7b895ba11
HHH-17875 validate association mappings in processor
2024-03-22 14:20:39 +01:00
Gavin King
31a63b1b1b
introduce @Suppress annotation to disable processor
2024-03-22 14:20:39 +01:00