Commit Graph

686 Commits

Author SHA1 Message Date
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
Gavin King c9c0261bfa HHH-17875 validate association mappings in processor 2024-03-22 14:20:39 +01:00
Gavin King e16f0938d4 HHH-17873 handle generic supertypes of repositories 2024-03-22 01:31:27 +01:00
Gavin King 3176f25be5 HHH-17873 much better and now spec-compliant handling of repo inheritance
I got the spec changed to make this good :)
2024-03-22 01:31:27 +01:00
Gavin King f7fbbae538 HHH-17873 some handling for generics in lifecycle method signatures 2024-03-22 01:31:27 +01:00
Gavin King 9305610a32 HHH-17873 initial impl of repository inheritance
needed for Jakarta Data, and useful
limited to single inheritance for now
2024-03-22 01:31:27 +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
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