Commit Graph

308 Commits

Author SHA1 Message Date
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
Réda Housni Alaoui 884569f9cc HHH-12378 JDK 9 support: Remove javax.annotation.Generated usage 2018-03-13 23:17:40 +00:00