Commit Graph

455 Commits

Author SHA1 Message Date
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
Gavin a4e7b7e482 clean up some warnings 2023-05-24 00:14:44 +02:00
Steve Ebersole 2e98c1678d HHH-16677 - Drop JPA static metamodel generation from Gradle plugin 2023-05-23 14:50:00 -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
Steve Ebersole e5aa1413d8 HHH-16307 - Gradle plugin DSL 2023-03-15 18:00:33 -05:00
Sanne Grinovero cf42df6550 HHH-16223 General cleanup of use of deprecated constants 2023-03-07 21:39:17 +00:00
Sanne Grinovero d0cdcb006d HHH-16223 Deprecate HBM2DDL_DATABASE_ACTION 2023-03-07 21:39:17 +00:00
Tomas Cerskus 07529c309d HHH-15707 - Fix Gradle plugin with Kotlin 1.7.0 or higher
Since Kotlin version 1.7.0 the KotlinCompile task no longer extends
Gradle's AbstractCompile.

This commit updates Hibernate Gradle enhancement plugin to not cast to
AbstractCompile and instead use reflection to invoke the
"getDestinationDirectory" method.

It also updates the Kotlin version on used to test the Gradle
enhancement (but remains backwards compatible with previous Kotlin
versions).
2023-02-06 18:00:12 +01:00
Sanne Grinovero 800873c43d HHH-16058 Removing Environment#getBytecodeProvider 2023-01-20 14:31:08 +00: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
Christian Beikov 7007bafe55 HHH-15872 Add ColumnOrderingStrategy SPI and handle record structs specially 2022-12-20 20:17:23 +01:00
Marco Belladelli be9358e02f HHH-15785 Fix javadoc errors 2022-12-01 14:51:28 +01:00
Christian Beikov 6bba6d073b HHH-15765 Get rid of the credentials plugin 2022-11-28 08:29:56 +01:00
Mark Rotteveel c71d1b3bef HHH-15765 Fix build failure by upgrade nu.studer.credentials to 3.0 2022-11-28 08:05:39 +01:00
Marco Belladelli f38dd28043 HHH-15760 mass replace self-closing tags in javadoc 2022-11-26 09:49:56 +01:00
Christian Beikov 0b733d4ba2 HHH-15641 Enable inlineDirtyChecking and lazyLoading for enhancement by default and deprecate the setting 2022-11-07 09:19:26 +01:00
Gavin King bb0541d754 remove more usages of some deprecated methods 2022-10-29 23:32:05 +02:00
Gavin King 6e8d609485 squash warnings + remove usages of some deprecated methods 2022-10-29 23:32:05 +02:00
Steve Ebersole d3dafe255c HHH-15597 - Gradle plugin should use full compilation classpath for enhancement 2022-10-18 20:22:57 -05:00
Steve Ebersole 5cf5f5adbd HHH-15558 - Hibernate's Gradle plugin does not work with three-part source set names 2022-10-18 20:21:01 -05:00
Christian Beikov 249dfd0d12 HHH-15534 Fix publishing of the hibernate-gradle-plugin 2022-09-23 10:59:57 +02:00
Christian Beikov bc5b866c86 HHH-15381 Try to fix gradle plugin publishing and platform publishing 2022-09-02 16:44:51 +02:00
Steve Ebersole 180089b542 HHH-15314 - Hibernate Gradle plugin is not working for Kotlin projects 2022-06-08 17:32:52 -05:00
Steve Ebersole fd7cca8fdc HHH-15314 - Hibernate Gradle plugin is not working for Kotlin projects 2022-06-08 16:28:15 -05:00
Steve Ebersole 76055475da HHH-15314 - Hibernate Gradle plugin is not working for Kotlin projects 2022-06-08 07:39:10 -05:00
Steve Ebersole 2ef7bd42bf HHH-15314 - Hibernate Gradle plugin is not working for Kotlin projects 2022-06-08 00:52:30 -05:00
Steve Ebersole 43aec7e8ea Revert "HHH-15314 - Hibernate Gradle plugin is not working for Kotlin projects"
This reverts commit f2613913729a99e8c41bcfedc694559579f7b370.
2022-06-08 00:51:38 -05:00
Steve Ebersole acb1989138 HHH-15314 - Hibernate Gradle plugin is not working for Kotlin projects 2022-06-08 00:51:38 -05:00
Jan Schatteman fad9db67b0 Disable HibernateOrmPluginTest.testJpaMetamodelGenUpToDate() test for now (as was intended).
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-06-07 23:41:59 +02:00
Steve Ebersole 6ac624a84b HHH-15314 - Hibernate Gradle plugin is not working for Kotlin projects 2022-06-07 05:59:56 -05:00
Steve Ebersole 26dbafb2b3 HHH-15251 - Unified mapping XSD based on JPA 3.1;
- `mapping-3.1.0.xsd`
   - JAXB model for `mapping-3.1.0.xsd`
   - Overriding caching (region, usage, include) via partial mapping document
   - Initial hbm.xml -> mapping.xml transformation support
   - Gradle task for performing transformations
2022-05-20 06:46:44 -05:00
Steve Ebersole 8225ab1f9b Minor changes to signing and build logging cleanup 2022-05-11 20:36:48 -05: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
Steve Ebersole aef21b18dc HHH-15193 - Fix Gradle plugin - forcing dependency on hibernate-core SNAPSHOT
Capability to publish plugin locally (to maven local) for testing
2022-04-12 17:47:22 -05:00
Steve Ebersole 5a4efc1c58 HHH-15193 - Fix Gradle plugin - forcing dependency on hibernate-core SNAPSHOT 2022-04-07 13:52:55 -05:00
Steve Ebersole 17bb4aa066 HHH-15170 - Dedicated chapter for "Build Tool Support"
HHH-15171 - Add discussion of the Ant Plugin
2022-04-05 15:25:34 -05:00
Steve Ebersole 9d3726e39d HHH-15170 - Dedicated chapter for "Build Tool Support" 2022-04-04 19:15:15 -05:00
Christian Beikov 0df4dc1642 HHH-15164 Add bytebuddy as dependency to hibernate-enhance-maven-plugin 2022-04-04 18:12:41 +02: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
Steve Ebersole 88938ac482 Address test failures in Gradle plugin module
- I was not able to figure this out, so simply disabled the TestKit related tests
- unfortunately, this means we have no automated functional testing of the plugin in the build
2022-03-30 14:20:36 -05:00
Steve Ebersole 5403e95958 HHH-14872 - Re-enable hibernate-gradle-plugin
plus additional improvements to Gradle scripts
2022-03-15 20:10:17 -05:00
Steve Ebersole f82d381fe3 Gradle build clean-ups
- re-organize release task definitions to avoid use of subproject iteration
2022-03-15 12:15:56 -05:00
Christian Beikov bdf8b2fc2e Fully generify and simplify UserType contract 2022-03-04 11:14:17 +01:00
Gavin King e51c210d78 squash lots of warnings in services
change the raw Map representation of config properties to Map<String,Object>
2022-01-25 21:04:50 +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
Gavin King 8adc1d8d70 use @code instead of <tt> in Javadoc 2021-12-27 07:31:15 -06:00
Sanne Grinovero 334aeb1349 HHH-14946 Upgrading base requirements to Java 11 2021-12-01 17:34:28 +00:00
Christian Beikov 9fa2671cbc Update to Gradle 7.2 2021-10-19 11:07:39 +02:00
Steve Ebersole 099ad0a007 troubleshoot gradle-plugin failures on CI release job 2021-10-11 14:53:10 -05: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