Commit Graph

543 Commits

Author SHA1 Message Date
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
Gavin King 02e395c96d HHH-16633 correct handling of null values in criteria-based @Find methods 2023-07-10 14:36:32 +02:00
Gavin King 78843fb2a9 HHH-16633 allow the "session getter" method to not be a getter
add some Javadoc
2023-07-10 14:36:32 +02:00
Gavin King cd75b0baf1 HHH-16633 minor cleanups 2023-07-10 14:36:32 +02:00
Gavin King db4d529f60 HHH-16633 generate query methods from @NamedQuery annotations 2023-07-10 14:36:32 +02:00
Gavin King 16b433ebf1 HHH-16633 clean up 2023-07-10 14:36:32 +02:00
Gavin King 3dfa70a781 HHH-16633 use unwrap() in preference to typecasts
perhaps it would be better to preemptively unwrap the
EntityManager to Session, because this approach results
in raw query types (but we don't really care since we
already know it's sound)
2023-07-10 14:36:32 +02:00
Gavin King 9512077462 HHH-16633 fix an issue with the lifecycle of annotation processing
we could not see typesafe references to static strings we generate
2023-07-10 14:36:32 +02:00
Gavin King a4d8580606 HHH-16633 fix for StatelessSession @Find methods 2023-07-10 14:36:32 +02:00
Gavin King 17ea1e28b9 HHH-16633 add ability to specify fetch profiles in @Find annotation 2023-07-10 14:36:32 +02:00
Gavin King 09f110254f HHH-16695 add enableFetchProfile() to XxxxIdLoadAccess 2023-07-10 14:36:32 +02:00
Gavin King 2409e1a49b HHH-16633 support for StatelessSession in query methods/DAOs 2023-07-08 20:42:05 +02:00