Commit Graph

609 Commits

Author SHA1 Message Date
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 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
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
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
Sanne Grinovero f49535d397 Migrate type from Serializable[] to String[] 2023-08-23 15:05:45 +02:00
Christian Beikov 7c697f7e37 Fix Gradle toolchain issues 2023-08-16 09:13:53 +02: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
Gavin King a36b683870 more misc cleanups to modelgen code 2023-07-08 20:42:05 +02:00
Gavin King 7d9fa4a536 HHH-16633 more info in two error messages 2023-07-08 20:42:05 +02:00
Gavin King 0c4439b731 copy some test entities from core tests to modelgen tests 2023-07-08 20:42:05 +02:00
Gavin King d7fd5bd78a HHH-16633 add ability to generate @Find methods for @NaturalIds and arbitrary field lists 2023-07-07 22:44:07 +02:00
Gavin King 0c40711563 HHH-16633 add ability to generate @Find methods 2023-07-07 22:44:07 +02:00
Gavin King 3969c74963 HHH-16633 add DAO-style repository generation 2023-07-07 22:44:07 +02:00
Gavin King 677b9848a2 minor bug fixes and code cleanups to Metamodel Generator 2023-07-06 23:43:23 +02:00
Gavin King f933b064e9 HHH-16633 support new Order and Page objects as parameters of query methods 2023-07-06 01:02:15 +02:00
Gavin King a2defad7a4 HHH-16887 smoke test HQL validation 2023-07-04 19:53:15 +02:00
Gavin King 28b1670d18 HHH-16887 also validate arguments of @NamedQuery if @CheckHQL is specified 2023-07-04 19:53:15 +02:00
Gavin King 13877a9a3e HHH-16887 update tests 2023-07-04 19:53:15 +02:00
Gavin King f61e00c642 HHH-16887 integrate full HQL typechecking into Metamodel Generator! 2023-07-04 19:53:15 +02:00
Jan Schatteman 95bcd9460f HHH-13506 - Quickfix
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-06-27 16:18:55 +02:00
Gavin King eeebf20b9c allow overloaded query methods 2023-06-27 00:39:39 +02:00
Gavin King 5141e2b40e whitespace changes 2023-06-27 00:39:39 +02:00
Sanne Grinovero e9f879d9d6 Automated cleanup: inefficient branching (thanks IntelliJ) 2023-06-26 14:38:59 +01:00
Sanne Grinovero 0fb5895d08 Automated cleanup: suboptimal string handling (thanks IntelliJ) 2023-06-26 14:38:59 +01:00
Gavin King 3211cb8e9b HHH-16633 add @see annotations to generated code 2023-06-17 20:07:02 +02:00
Gavin King e641cfceb7 HHH-16633 typecasts to org.hibernate return types + handle projections correctly 2023-06-17 20:07:02 +02:00
Gavin King 56cf0c414c HHH-16813 don't add @Generated annotations if it's going to cause a compilation failure 2023-06-17 20:07:02 +02:00
Gavin King b1998782e9 HHH-16633 introduce new package for @HQL, @SQL, @CheckHQL annotations 2023-06-17 20:07:02 +02:00
Gavin King cfe545ec3d HHH-16633 introduce native query methods to JPA metamodel generator 2023-06-17 20:07:02 +02:00
Gavin King 698b245753 HHH-16633 introduce query methods to JPA metamodel generator 2023-06-17 20:07:02 +02:00
Gavin King 727a9b2c03 generate typesafe references to named queries, fetch profiles, entity graphs, fetch profiles
add support for about @FilterDef
2023-06-13 22:48:21 +02:00
Francois Steyn a415555df4 HHH-16563: Using jakarta.annotation.Generated instead of javax versions 2023-06-07 16:46:13 -05:00
Cedomir Igaly 29a4d6bf06 HHH-16261 - Change Gradle build script to allow separate builds using JDK 11 and JDK 17 2023-04-25 10:21:33 +02:00
Cedomir Igaly 2246f4225c HHH-16261 - Avoid explicit use of ElementKind.RECORD to make code compilable under JDK 11 2023-04-25 10:21:33 +02:00
Cedomir Igaly bb3c647252 HHH-16261 - Fixed formatting 2023-04-25 10:21:33 +02:00
Cedomir Igaly dad3f500eb HHH-16261 - Not ignoring JDK 14 records when processing 2023-04-25 10:21:33 +02:00
Cedomir Igaly 672eaed86c HHH-16261 - More strict test case 2023-04-25 10:21:33 +02:00
Cedomir Igaly 643cd32504 HHH-16261 - Check if address field has been generated in Author_ class 2023-04-25 10:21:33 +02:00
Cedomir Igaly 52e84fb3e4 HHH-16261 - Test case for HHH-16261 2023-04-25 10:21:33 +02:00
Christian Beikov 783da2a906 HHH-16389 Introduce checkerframework for nullness marking/checking and null check the JPA metamodel generator 2023-04-05 19:14:37 +02:00
Jan Schatteman 722a216593 HHH-15372 - Update the jpa schema versions
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-01-10 18:29:50 +01:00
Gavin 7aa92a7c05 allow @Formulas to refer to columns of @SecondaryTables
(this is something that was previously only possible using hbm.xml)

also attempt a partial fixup of the initialization process where SessionFactoryImpl
constructor leaked out an uninitialized reference to itself (it still leaks, but
not as badly)
2023-01-02 21:45:02 +01:00
Marco Belladelli f38dd28043 HHH-15760 mass replace self-closing tags in javadoc 2022-11-26 09:49:56 +01:00
Steve Ebersole 69e57404c6 HHH-15226 - Publish a Gradle platform (Maven Bom++) for Hibernate ORM
- plus use Gradle version catalogs as opposed to `libraries.gradle`
- dropped OSGi manifest entries for hibernate-envers - they were broken and we decided we no longer support OSGi
2022-04-26 14:41:04 -05:00
Christian Beikov a4b6b237dd HHH-15163 Switch from Java EE to Jakarta XML Binding dependency for jpamodelgen 2022-04-04 14:29:27 +02:00
Christian Beikov bdf8b2fc2e Fully generify and simplify UserType contract 2022-03-04 11:14:17 +01:00
Christian Beikov 445cedfec7 Cleanup the naming of JavaDescriptor and JavaTypeDescriptor to align with the new naming JavaType 2022-01-20 16:01:02 +01:00
Steve Ebersole 448d678fb5 Drop `@CollectionClassificationType`;
Drop `@CollectionSemantics`;
Drop `@CollectionSemanticsRegistration(s)`;
Add `@CollectionTypeRegistration(s)`;
Rename `@CustomType` to `@Type`;
User Guide and Migration Guide changes
2022-01-06 21:46:48 -06:00
Steve Ebersole a71ba9e385 Initial work to re-organize the Collections chapter in the UserGuide;
Docs for @CollectionType, @CollectionClassificationType and @CollectionSemantics;
Some api/spi/internal work;
Migration Guide;
2022-01-05 16:26:58 -06:00
Steve Ebersole 686d8fcbf1 HHH-14870 - Rename {Xyz}TypeDescriptor as {Xyz}Type
* `JavaTypeDescriptor` -> `JavaType`
* `JdbcTypeDescriptor` -> `JdbcType`
2021-10-11 13:13:13 -05:00
Steve Ebersole 3a0065eea4 HHH-14870 - Rename {Xyz}TypeDescriptor as {Xyz}Type
* `JavaTypeDescriptor` -> `JavaType`
* `JdbcTypeDescriptor` -> `JdbcType`
2021-10-11 13:11:32 -05:00
Steve Ebersole 9ad34c21d4 HHH-14856 - Introduce @CustomType;
HHH-14863 - Compositional definition of basic value mappings;
HHH-14864 - Drop legacy Type-based annotations;
HHH-14865 - Re-work @Any and @ManyToAny support;

* re-use BeanInstanceProducer
* Removed `@CollectionId#type`
* Change `@Any` / `@ManyToAny`
* Removed `@MapKeyType`
* Removed `@TypeDef`
* Removed `@TypeDefs`
* Removed `@Type`
* Removed `@AnyMetaDefs`
* Removed `@AnyMetaDef`
* Removed `@MetaValue`
2021-10-07 10:01:21 -05:00
Christian Beikov 1cb6ff8916 Cleanup naming of JavaTypeDescriptor and JdbcTypeDescriptor implementations. Get rid of PrimitiveType, IdentifierType, DiscriminatorType and AllowableTemporalParameterType 2021-10-07 08:15:53 +02:00
Christian Beikov 9e83129fc3 Change JavaTypeDescriptor#fromString to accept a CharSequence instead of String and introduce CharSequence utilities to avoid creating intermediate strings 2021-10-05 15:18:38 +02:00
Steve Ebersole 47b58f7fa2 HHH-14837 - Move to Jakarta EE
- fix ConcreteLike.java from hibernate-jpamodelgen
2021-09-27 08:21:36 -05:00
Steve Ebersole 995e7d9780 HHH-14837 - Move to Jakarta EE
- fix hibernate-jpamodelgen dependencies
2021-09-27 08:21:36 -05:00
Steve Ebersole 089a3f86ae HHH-14837 - Move to Jakarta EE
preliminary transformation;
only `javax.persistence.*` settings supported atm
2021-09-27 08:21:27 -05:00
boris-unckel 3be25aa899 HHH-14760 Close resource - potential resource leak
Fixes https://hibernate.atlassian.net/browse/HHH-14760
2021-08-09 10:28:06 +01:00
Steve Ebersole 3b78f30309 Few Gradle file related tasks
- dropped explicit apt output handling - Gradle has that built in
- Switched other uses to write to the standard `${buildDir}/generated/sources` dir
2021-08-02 16:35:16 -05:00
Andrea Boriero e93f43a43f Merge remote-tracking branch 'upstream/main' into wip/6.0 2021-08-02 14:02:30 +02:00
Christian Beikov e528a1ab53 HHH-14768 Fix recursive type variable rendering 2021-08-02 09:59:41 +02:00
Steve Ebersole a716b348f7 japmodelgen xjc task cacheability 2021-07-29 13:31:21 -05:00
Christian Beikov 1a6924c297 HHH-14724 Fix generation of problematic metamodel classes which use TYPE_USE annotations 2021-07-29 12:59:43 +02:00
Thomas Heigl 0fdf431715 HHH-14724 Add test for intersection types 2021-07-29 12:59:43 +02:00
Thomas Heigl e868e61cec HHH-14724 Test-case demonstrating compilation issues with converters and validation 2021-07-29 12:59:43 +02:00
Steve Ebersole 9f2ae95397 Gradle task cache
Gradle 7 prep
2021-07-26 13:51:38 -05:00
Andrea Boriero 451568f322 Merge remote-tracking branch 'upstream/main' into wip/6.0_merge_7 2021-05-31 14:55:18 +02:00
Yoann Rodière 07eca3883d HHH-14635 Upgrade to log4j 2 2021-05-26 09:05:56 +02:00
Andrea Boriero ffae5474a6 Merge remote-tracking branch 'upstream/main' into wip/6.0_merge_6 2021-05-24 20:41:03 +02:00
Steve Ebersole c7e37dc1d7 HHH-14513 : Move publishing release and snapshot artifacts to Sonatype OSSRH 2021-05-14 15:06:15 -05:00
Christian Beikov ff9e9eebc9 HHH-13946 Create Jakarta artifacts for hibernate-core, hibernate-envers, hibernate-jpamodelgen and hibernate-testing 2021-04-30 11:41:05 +02:00
Steve Ebersole 7fcde66d61 HHH-14524 : Rename SqlType(X) as JdbcType(X) 2021-03-29 11:33:56 -05:00
Gavin King bbf4619fcd remove deprecated Sort annotation 2021-03-25 18:54:41 +01:00
Andrea Boriero 96d103215c Merge remote-tracking branch 'upstream/main' into wip/6.0 2021-03-22 12:26:31 +01:00
Steve Ebersole 725faa258f HHH-14509 : Git master -> main branch renaming 2021-03-19 10:59:03 -05:00
Andrea Boriero 6250942e7f Merge remote-tracking branch 'upstream/master' into wip/6.0 2021-03-05 11:18:14 +01:00
Vlad Mihalcea 17c5fab50e HHH-12338 - Incorrect metamodel for basic collections 2021-03-04 13:22:37 +01:00
Christian Beikov 6643e9f4bc Use java.lang.reflect.Type instead of java.lang.Class for JavaTypeDescriptor#getJavaType to support parameterized types 2021-02-23 12:22:54 +01:00
Andrea Boriero 9cf4edfbee Merge remote-tracking branch 'upstream/master' into wip/6.0 2020-10-26 08:14:01 +00:00
Sanne Grinovero 55cb66780d HHH-10715 Make static constant collections immutable in metamodel-generator 2020-10-25 21:33:11 +00:00
Sanne Grinovero 1de234ea93 HHH-10715 Unclear excepion handling 2020-10-25 21:33:06 +00:00
Sanne Grinovero b8ddc70ff1 HHH-10715 Dodgy comparison with Boolean instance 2020-10-25 21:33:04 +00:00
Andrea Boriero 8b938610cf Merge remote-tracking branch 'upstream/master' into wip/6.0_merge 2020-09-08 08:19:13 +01:00
Sanne Grinovero ea24abd757 HHH-9422 Metamodel Generator should close streams opened to persistence.xml and referenced mapping files 2020-09-02 12:22:25 +01:00
Andrea Boriero 5c86c4a805 Merge remote-tracking branch 'upstream/master' into wip/6.0_merge_29 2020-04-09 07:37:11 +01:00
Andrea Boriero b897a36f2f Fix issue with generated pom missing project description 2020-04-06 18:21:11 +01:00
Yoann Rodière aebf9d192f HHH-13925 Fix invalid javadoc syntax
This wasn't detected by checkstyle in Gradle 5, but it is now, and that
fails the build.
2020-04-06 16:04:55 +02:00
Nathan Xu d8d8d6e112 Fix some obvious log or exception message issues 2020-02-28 08:12:45 +00:00
Sam De Block a60a10f009 HHH-13390
Upgrade JPA MetaModel Generator (jpamodelgen) to support Gradle Incremental Compile
2020-01-29 20:23:11 +01:00
Chris Cranford 0e329bef5a HHH-12030 - Fix ClassCastException when Embeddable collection uses generic types 2019-11-14 13:56:56 +00:00
Sergey Morgunov b9edc8d323 HHH-13145 - Generated metamodel class can't be compiled. 2018-12-17 13:54:55 +01:00
Guillaume Smet 190dedc8fc HHH-13128 Add missing jaxb-runtime dependency to metamodel generator
It's necessary for JDK 11 and we missed it when we added the
jaxb-runtime dependency to hibernate-core.
2018-11-29 11:20:44 +01:00
Yoann Rodière 653b123276 HHH-12990 Remove unnecessary dependencies to JSR-250 when generating JAXB classes
It seems these dependencies were not necessary at all, even before the
previous patches.
2018-10-17 11:50:45 +02:00
Yoann Rodière e436b316da HHH-12990 Auto-detect the fqcn of the Generated annotation in jpamodelgen
It's "javax.annotation.Generated" in Java 8 and below, but
"javax.annotation.processing.Generated" in Java 9 and above.
2018-10-17 11:50:45 +02:00
Yoann Rodière 5fd97472b9 HHH-12946 Enable JAXB dependencies regardless of the JDK being used when building Hibernate ORM
Previously we would only add the dependency when building with JDK9+,
and we built all releases using JDK8.
This means the dependencies were useless, because they would never be
mentioned in the actual POMs published to users.
2018-10-17 11:43:03 +02:00
Yoann Rodière 2daa3811c6 HHH-12946 Remove unnecessary dependencies when building with JDK9+
We don't need to depend on JAXB's compiler (XJC) in our modules,
we just need the dependency in specific tasks during the build.
In particular we don't want users to transitively depend on XJC.

Also, we don't need an explicit dependency to JAXB in every module,
having one in hibernate-core is enough.
2018-10-17 11:43:03 +02:00
Yoann Rodière 51ab9f744d HHH-12946 Add explicit dependencies to JAXB APIs where relevant 2018-10-17 11:43:03 +02:00
Yoann Rodière 530ab1569e HHH-12946 Use constants for JAXB dependencies instead of inline strings
We may have to update these dependencies, let's make it easy.
2018-10-17 11:43:03 +02:00
Chris Cranford 0d79bc06cf HHH-12612 - Added embeddable TYPE_USE test case coverage. 2018-05-24 17:01:36 -04:00
Chris Cranford 5674eae3ae HHH-12612 - Use getQualifiedName rather than toString. 2018-05-24 17:01:36 -04:00
Chris Cranford 45a3b39c40 HHH-12612 - Fix JDK9 compatibility with TYPE_USE on collection fields. 2018-05-23 19:10:58 -04:00
Chris Cranford 895b0bb75d HHH-12011 HHH 12612 - Remove unnecessary output from test case. 2018-05-23 19:08:50 -04:00
Chris Cranford df6d44f646 HHH-12581 - Revert original fix for HHH-12338 to address regression. 2018-05-23 13:57:44 -04:00
Chris Cranford 3b05e92f40 HHH-12581 - Added test case. 2018-05-23 13:57:35 -04:00
Chris Cranford f8ffbd03ff HHH-12011 - Fix JDK9 compatibility with TYPE_USE on array primitive-based fields. 2018-05-13 15:33:37 -04:00
Chris Cranford 2ad6bf6724 HHH-12011 - Use TypeVisitor rather than string parsing for array types. 2018-05-11 12:51:37 -04:00
Chris Cranford 67096ce547 HHH-12011 - Fix metamodel generation with TYPE_USE targeted annotations. 2018-05-11 12:48:20 -04:00
Chris Cranford 7162bf26ec HHH-12011 - Added test case. 2018-05-11 12:48:20 -04:00
helloztt 7bcfa0d90d HHH-12338 - Incorrect metamodel for basic collections 2018-03-29 17:22:49 +03:00