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
Gavin King
235fc26ee6
more null checking, and some refactoring
2024-02-24 14:49:06 +01:00
Gavin King
7abe8f5f2b
split out an inner class
2024-02-24 14:49:06 +01:00
Gavin King
9aa2f631f1
add a jakartaDataStyle option to processor
2024-02-24 14:49:06 +01:00
Gavin King
43905c657f
some cleanup in static metamodel code
2024-02-24 14:49:06 +01:00
Gavin King
862a967a17
HHH-17772 misc improvements to impl of Sort parameters
2024-02-24 01:42:16 +01:00
Gavin King
2281805e91
HHH-17772 tolerate vararg Sort parameters
2024-02-24 01:42:16 +01:00
Gavin King
df79c4491a
HHH-17772 add additional permutation to test
2024-02-24 01:42:16 +01:00
Gavin King
3539551305
HHH-17772 Jakarta exception conversion for @Query methods
2024-02-24 01:42:16 +01:00
Gavin King
25d7cc8681
HHH-17772 Jakarta exception conversion for @Find methods
2024-02-24 01:42:16 +01:00
Gavin King
394c9ef03f
HHH-17772 exclude Jakarta Data tests on older JDK
2024-02-24 01:42:16 +01:00
Gavin King
0cf8d18c3d
HHH-17772 exception mappings for lifecycle methods
2024-02-24 01:42:16 +01:00
Gavin King
9c707dd4e8
HHH-17772 map @Save lifecycle annotation to upsert()
2024-02-24 01:42:16 +01:00
Gavin King
83595ea461
HHH-17772 add tests
2024-02-24 01:42:16 +01:00
Gavin King
0bc198f265
HHH-17772 handle missing static constant refs
2024-02-24 01:42:16 +01:00
Gavin King
1e32439b3c
HHH-17772 interpret @Repository(dataSource) as a CDI @Named qualifier
...
This is sort of the simplest possible thing to do.
2024-02-24 01:42:16 +01:00
Gavin King
484fcb2984
HHH-17773 case-insensitive ordering
2024-02-24 01:42:16 +01:00
Gavin King
d0f3cdeb96
HHH-17772 support for Order
2024-02-24 01:42:16 +01:00
Gavin King
7a52cf9659
HHH-17772 better support for Sort
2024-02-24 01:42:16 +01:00
Gavin King
bd63c4af50
HHH-17772 support for Limit and Sort
2024-02-24 01:42:16 +01:00
Gavin King
4cfc3fb97d
HHH-17772 support Jakarta Data @OrderBy
2024-02-24 01:42:16 +01:00
Gavin King
aed8244dae
HHH-17772 support Jakarta Data @By and @Param
2024-02-24 01:42:16 +01:00
Gavin King
5be9463364
HHH-17772 initial, rudimentary support for Jakarta Data annotations
2024-02-24 01:42:16 +01:00
Christian Beikov
73221d0090
HHH-17765 Support some special chars in query method queries
2024-02-21 17:18:37 +01:00
Gavin King
24db2b04cc
HHH-17661 add test for issue
2024-02-20 10:46:24 +01:00
Gavin King
9ba93b7060
HHH-17613 - don't use reduce()
2024-02-20 10:46:24 +01:00
Cedomir Igaly
b17aa9674f
HHH-17613 - Adding recursion; avoiding regular expression
2024-02-20 10:37:01 +01:00
Cedomir Igaly
da41e5b4be
HHH-17613 - Fixing type import
2024-02-20 10:37:01 +01:00
Cedomir Igaly
f191d397c1
HHH-17613 - Test case demonstrating the problem
2024-02-20 10:37:01 +01:00
Gavin King
3769d4c233
use requiresService() much more consistently
...
we should usually avoid the use of getService() unless
there is an explicit null test on the client side
2024-02-16 23:18:30 +01:00
Gavin King
f1e099b8e8
HHH-17745 @HQL methods accepting embeddables
...
and replace usages of getJavaType().getTypeName(), since
using getTypeName() directly is much more freindly to the
annotation processor (as well as less verbose)
2024-02-16 21:08:49 +01:00
Gavin King
d7fe31643a
HHH-16048 add 'hibernate.query.hql.portable_integer_division'
...
consistent interpretation of division on MySQL and Oracle
2024-02-16 16:23:35 +01:00
Gavin King
f111d1a1a1
try to report more info from annotation processor failure
2024-02-14 15:14:23 +01:00
Gavin King
97099c0280
better handling of instantiation for @HQL methods
2024-02-12 20:53:09 +01:00
Gavin King
e5a994bfa1
fix typechecking of primitives in instantiations for query methods
2024-02-12 00:16:06 +01:00
Gavin King
d09d6ffdf0
HHH-17729 move validation of constructors in HQL instantiations to SemanticQueryBuilder
...
test for query method generation
2024-02-12 00:16:06 +01:00
Gavin King
24937b4e67
HHH-17729 move validation of constructors in HQL instantiations to SemanticQueryBuilder
...
report SemanticExceptions with the query string
fix some warnings in ReflectHelper
2024-02-12 00:16:06 +01:00
Gavin King
cb1b276ff8
validate the type arg of Order parameters in @Find and @HQL methods
2024-02-07 21:03:23 +01:00
Yanming Zhou
508df48686
Rename variable for better readability
2024-02-07 15:54:39 +01:00
Yanming Zhou
c804ff3ac5
HHH-17719 Supports boolean as return type of mutation query method
2024-02-07 14:10:48 +01:00
Gavin King
da0e327d09
validate parameters of @SQL query
2024-02-07 14:10:24 +01:00
Yoann Rodière
3b31351234
Move setting of net.bytebuddy.experimental to the Jenkinsfile
...
The hope is that whenever we add a new JDK version to test,
we'll notice this setting, will try to remove it and upgrade bytebuddy
if necessary. This would avoid mess-ups like the one that caused
https://github.com/hibernate/hibernate-orm/pull/7790
2024-02-06 13:42:21 +00:00
Gavin King
838bed00eb
better handling of the session variable in repositories
2024-02-06 13:45:12 +01:00
Gavin King
f4d17be10c
small fixes to @Find and @HQL methods
...
don't include session parameter type where not necessary
2024-02-03 01:28:49 +01:00
Gavin King
d96b5dfffc
clarify use of Order and Page with @Find
...
[It's allowed!]
2024-02-02 18:12:27 +01:00
Andrea Boriero
3122c81844
HHH-17326 deprecated lazyLoading no longer working
2024-01-31 11:57:48 +01:00
Yoann Rodière
1ac21756c6
HHH-17683 Reproducer for jpamodelgen generating wrong constructor for metamodel of entities whose methods contain a `static EntityManager getEntityManager()`
2024-01-30 12:44:54 +01:00
Gavin King
c829d9e5bf
HHH-17683 never look for session getters in mapped superclasses or embeddables
2024-01-29 21:18:15 +01:00
Yanming Zhou
df93517e1d
HHH-14429 Restore <fileset/> support for ant enhance task
...
fix regression introduced by HHH-11795
2024-01-26 10:59:31 +01:00
Steve Ebersole
58173f92ee
HHH-17559 - Prefer Java Time handling for all temporal values
2023-12-22 08:23:06 -06:00
Jan Schatteman
f8bfb85ce1
HHH-17253 - Fix for StackOverflowError in static metamodel generator
...
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-12-19 19:07:03 +01:00
Christian Beikov
fc43836c7e
HHH-17253 Test circular type variable stack overflow in metamodel generator
2023-12-19 19:07:03 +01:00
Réda Housni Alaoui
1d956eb400
HHH-17494 Metamodel generator produce an uncompilable class when an EntityGraph name contains a comma
2023-12-06 19:08:28 +01:00
Steve Ebersole
48451d2e2f
HHH-17362 - Define dependencies of hibernate-jpamodelgen as api
...
https://hibernate.atlassian.net/browse/HHH-17362
2023-11-17 13:11:24 -06:00
Steve Ebersole
5b6373fb34
HHH-17362 - Define dependencies of hibernate-jpamodelgen as api
...
https://hibernate.atlassian.net/browse/HHH-17362
2023-11-17 08:13:48 -06:00
Christian Beikov
5ea40e255d
HHH-14822 Support custom tenant identifier type
2023-10-25 18:58:20 +02:00
Jan Schatteman
763a70f633
HHH-17314 - Add a configuration option to ignore jdbc parameters in native queries
...
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-10-23 17:42:00 +02:00
Christian Beikov
627608e65c
HHH-17323 Add annotation processor for tests explicitly
2023-10-16 12:51:52 +02:00
Steve Ebersole
da522846d8
HHH-17157 - Some improvements to the metamodel generator documentation
2023-10-11 12:20:36 -05:00
Jan Schatteman
d325a5e90d
HHH-16515 - Get rid of nullness suppression in jpamodelgen TypeUtils
...
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-09-20 09:14:41 +02:00
Gavin King
5737235bf9
add another test for @HQL method return types
2023-09-05 20:05:24 +02:00
Gavin King
14151fdb97
improvements to validation of @HQL method return type
2023-09-05 19:29:26 +02:00
Gavin King
fad11299f3
HHH-17166 fix broken logic for inferring that @HQL method is a mutation
2023-09-05 19:29:26 +02:00
Gavin King
412217d011
HHH-17165 fix isGetter(), isSetter() in AnnotationMetaEntity
2023-09-05 19:29:26 +02:00
Gavin King
a541a64eec
search supertypes for session getter in repository type
2023-09-02 21:50:57 +02:00
Gavin King
2cfe93cd88
fix @Find method with varargs Order parameter
2023-09-02 20:11:43 +02:00
Steve Ebersole
a2d45a2679
HHH-16962 - General documentation improvements
...
HHH-17141 - Prepare for 6.3.0 release
https://hibernate.atlassian.net/browse/HHH-16962
https://hibernate.atlassian.net/browse/HHH-17141
2023-08-29 13:20:19 -05:00
Christian Beikov
13bc7ff38c
HHH-16952 Discover embeddable types through @Embedded annotation for enhancement in a pre-discovery phase
2023-08-28 18:24:45 +02:00
Sanne Grinovero
f49535d397
Migrate type from Serializable[] to String[]
2023-08-23 15:05:45 +02:00
Christian Beikov
689d16216d
Fix running on JDK 22
2023-08-16 18:53:22 +02:00
Christian Beikov
7c697f7e37
Fix Gradle toolchain issues
2023-08-16 09:13:53 +02:00
Steve Ebersole
761ec95145
HHH-17047 - Follow up tasks for Gradle 8.2 upgrade
...
- toolchains
- lazy Task creation
- documentation (documentation/ and release/) tasks
2023-08-14 10:38:00 -05:00
Steve Ebersole
306adef2a7
General Gradle work - toolchains
2023-08-14 07:56:52 -05:00
Andrea Boriero
126a28e8f4
Fix jpamodelgen build error with Gradle 8
2023-08-04 14:49:21 +02:00
Gavin King
6c435b02c9
support optional 'from' in @HQL query method generation
...
(as desired by Stef)
2023-07-23 15:51:14 +02:00
Gavin King
8794f86ad2
allow criteria-based @Find methods to specify Page and Order
...
This is not necessary for @Id or @NaturalId-based @Find methods,
because they don't return multiple results.
2023-07-23 14:23:35 +02:00
Gavin King
94f94f745c
HHH-16955 add test for query method generation with 'join fetch'
2023-07-20 17:43:33 +02:00
Gavin King
3e1411f6c0
fix use of java.text.SimpleDateFormat and java.util.Date in metamodel generator
2023-07-20 15:10:56 +02:00
Jan Schatteman
2e73795e4b
HHH-16515 - Add o.h.exception to nullness checking
...
HHH-16515 - Add o.h.integrator to nullness checking
HHH-16515 - Add o.h.service to nullness checking
HHH-16515 - Add o.h.engine.jndi to nullness checking
HHH-16515 - Add o.h.engine.config to nullness checking
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-07-17 21:56:22 +02:00
Gavin King
0918791f47
HHH-16633 support mutation query methods
2023-07-16 19:09:32 +02:00
Gavin King
5cee742698
HHH-16940 add typesafe ref to ManagedType in metamodel classes
2023-07-16 15:27:12 +02:00
Gavin King
52bfbe06f2
HHH-16633 validate the return type of @HQL query methods
...
(including constructors for record returns)
2023-07-16 15:27:12 +02:00
Gavin King
7634795f83
improved reasoning around nullability of finder method parameters
2023-07-16 09:10:40 +02:00
Jan Schatteman
314f2d7b7a
Revert "HHH-16515 - Add o.h.exception to nullness checking"
...
This reverts commit c5c3bb8ac8
.
2023-07-15 00:38:45 +02:00
Gavin King
ec8d574e4a
path expressions in finder method parameter names
...
this sounds a bit crazy but why not?
2023-07-14 22:26:48 +02:00
Jan Schatteman
c5c3bb8ac8
HHH-16515 - Add o.h.exception to nullness checking
...
HHH-16515 - Add o.h.integrator to nullness checking
HHH-16515 - Add o.h.service to nullness checking
HHH-16515 - Add o.h.engine.jndi to nullness checking
HHH-16515 - Add o.h.engine.config to nullness checking
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-07-14 21:42:25 +02:00
Gavin King
ae2f73a315
use @Nonnull annotation in generated named query method
2023-07-14 17:50:22 +02:00
Gavin King
ec830945e6
HHH-16633 improve jdoc for query methods
2023-07-14 15:49:51 +02:00
Gavin King
ded5451436
HHH-16633 allow finder and query methods to accept the session (better impl)
2023-07-14 15:49:51 +02:00
Gavin King
803cd6aa1e
HHH-16633 allow finder and query methods to accept the session type as a parameter
2023-07-14 15:49:51 +02:00
Gavin King
96e6476199
HHH-16633 no need to cast to SelectionQuery to call setPage()
2023-07-13 12:41:23 +02:00
Gavin King
5c5d2c2f94
HHH-16633 test for AccessType.PROPERTY in @Find method parameter matching
2023-07-13 10:59:32 +02:00
Gavin King
8681d702a4
HHH-16633 support AccessType.PROPERTY in @Find method parameter matching
2023-07-13 10:59:32 +02:00
Gavin King
45af5c2f5a
oops, remove a debugging statement that I accidentally committed
2023-07-12 21:43:51 +02:00
Gavin King
59fdc46254
HHH-16920 initial prototype support for Reactive in query/finder method generation
2023-07-11 16:30:47 +02:00
Gavin King
70a953e7a8
HHH-16633 completely rework validation for parameters of @HQL query methods
2023-07-11 00:21:19 +02:00
Gavin King
b1bdd74432
HHH-16633 support @IdClass in finder methods
2023-07-11 00:21:19 +02:00
Gavin King
10b17a6430
HHH-16633 unbreak support for @Embeddable Java records
2023-07-11 00:21:19 +02:00
Gavin King
c8c5d05330
remove incorrect comment
2023-07-10 15:00:18 +02:00
Gavin King
447fa30a89
HHH-16633 add CDI @Dependent annotation if in build path
2023-07-10 14:36:32 +02:00
Gavin King
24db891e84
HHH-16633 better Javadoc and @Nonnull annotations in generated source
2023-07-10 14:36:32 +02:00