Commit Graph

8558 Commits

Author SHA1 Message Date
Sanne Grinovero 6815c2aa7c HHH-15184 Improve efficiency of Component#getColumns() 2022-04-06 18:49:36 +01:00
Sanne Grinovero 25aec8d1b7 HHH-15184 Improve efficiency of Component#getSelectables() 2022-04-06 18:49:36 +01:00
Christian Beikov cf152d57b1 HHH-15168 Fix NPE in NativeQueryImpl.ParameterInterpretationImpl#toString 2022-04-05 12:03:55 +02:00
Christian Beikov 6f0ec52e81 HHH-15162 Add STRING_OR_CLOB FunctionParameterType and use that for various length functions 2022-04-05 11:55:50 +02:00
Christian Beikov 6a7bec612f HHH-15161 Infer parameter types in insert-select and avoid rendering cast in simple insert-select 2022-04-04 15:41:28 +02:00
Christian Beikov 956ec30de5 HHH-15157 Add HQL query to NoResultException 2022-04-04 13:07:44 +02:00
Christian Beikov f03254347a Drop LocalDateCustomSessionLevelTimeZoneTest because it's a driver issue 2022-04-01 13:15:48 +02:00
Christian Beikov fa7cb3f0e9 Fix issues with respecting padding and limit for in list rendering 2022-03-31 18:01:46 +02:00
Steve Ebersole ad828a0a4a release announcement, doc artifacts 2022-03-31 11:01:06 -05:00
Steve Ebersole 8d20c033b1 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-31 07:49:28 -05:00
Andrea Boriero 3358157d19 HHH-15078 - Support for Tuple and SelectionQuery 2022-03-31 07:49:14 -05:00
Steve Ebersole aa0c57aa5c HHH-15078 - Support for Tuple and SelectionQuery 2022-03-30 14:20:44 -05:00
Steve Ebersole 5b0c49e6a2 HHH-15133 - Use specified result-type to better infer "shape" of query results with implicit selections
Alternate solution for de-duplication handling
2022-03-30 13:34:18 -05:00
Steve Ebersole c033b9aa5f HHH-15133 - Use specified result-type to better infer "shape" of query results with implicit selections 2022-03-30 13:34:18 -05:00
Steve Ebersole bec32ebbc4 HHH-15133 - Use specified result-type to better infer "shape" of query results with implicit selections 2022-03-30 13:34:18 -05:00
Steve Ebersole cac18ae0c7 HHH-15133 - Use specified result-type to better infer "shape" of query results with implicit selections 2022-03-30 13:34:18 -05:00
Christian Beikov 4334b46376 Update the bulk section of the batching documentation chapter for the new mutation strategies. Also implement the missing InlineUpdateHandler 2022-03-30 18:21:27 +02:00
Christian Beikov 111fe26ccc Fix some issues in the legacy type resolution documentation and raw types issues for UserType 2022-03-30 18:21:27 +02:00
Andrea Boriero 63ba1787d0 Legacy generator strategy increment size 2022-03-30 15:58:00 +02:00
Gavin King 7d9eada83e roll back breakage to DurationJavaType
see the comment in the code
2022-03-30 09:52:13 +02:00
Steve Ebersole 6d55b9b2a4 mark some incubations 2022-03-29 22:03:20 -05:00
Steve Ebersole e433f32fc6 HHH-15143 - Add an "implicit naming strategy" for database structures (sequence and tables) for identifier generators
- clean up, javadoc, migration-guide
2022-03-29 20:59:21 -05:00
Steve Ebersole 56ba690366 HHH-15143 - Add an "implicit naming strategy" for database structures (sequence and tables) for identifier generators 2022-03-29 20:59:21 -05:00
Andrea Boriero 2709bc70b0 HHH-15143 - Add an "implicit naming strategy" for database structures (sequence and tables) for identifier generators 2022-03-29 20:59:21 -05:00
Steve Ebersole 33e2faced2 HHH-15143 - Add an "implicit naming strategy" for database structures (sequence and tables) for identifier generators
HHH-15144 - Add IncubationLogger
2022-03-29 20:59:21 -05:00
Christian Beikov 117e62195a Allow configuring the preferred JDBC type for Instant 2022-03-29 19:31:53 +02:00
Christian Beikov a9d1035806 Do some renaming for consistency and update documentation for new SQL types 2022-03-29 19:31:53 +02:00
Steve Ebersole 814c164c81 HHH-14672 - Allow specifying CHAR-based storage for UUID mappings 2022-03-29 16:53:35 +02:00
Christian Beikov 21a343fc60 Fix HQL update issues with composite id fk associations as fix some raw types issue 2022-03-29 16:07:24 +02:00
Christian Beikov 063a13c8a3 Get rid of some NotYetImplementedFor6Exception uses 2022-03-29 14:03:49 +02:00
Christian Beikov 13460034fd Add a migration guide section, replace static executor uses and remove obsolete todos 2022-03-29 14:03:49 +02:00
Christian Beikov bbe8783887 Further improvements 2022-03-26 01:56:33 +01:00
Christian Beikov 352970604d Render select item aliases for sub queries in from clause to avoid possible alias collision 2022-03-26 01:56:33 +01:00
Christian Beikov 23098ca254 Disable select item deduplication for query groups and deduplicate within a fetch parent 2022-03-26 01:56:33 +01:00
Christian Beikov b4a1b149fb Add support for specifying the SqlTypes field name when a type code is expected 2022-03-26 00:02:18 +01:00
Christian Beikov e1742ac3ac Update H2 to 2.1.210 and HSQLDB to 2.6.1 2022-03-25 21:59:23 +01:00
Christian Beikov b737231416 Make sure Hibernate works with the Jakarta Persistence 3.1 API 2022-03-25 21:24:13 +01:00
Christian Beikov 6b8fdf3b70 Model timestampdiff with interval as result with null duration unit 2022-03-25 21:13:14 +01:00
Christian Beikov de21820f84 HHH-13135 Use FOR NO KEY UPDATE when locking in PostgreSQL 2022-03-25 20:53:25 +01:00
Christian Beikov f048ea8205 Introduce a special TimeZoneStorageType#NORMALIZE_UTC variant 2022-03-25 20:53:05 +01:00
Christian Beikov f2aa533dfc Switch back to numeric(21) with nanosecond resolution as fallback for mapping Duration to retain backwards compatibility 2022-03-25 20:20:28 +01:00
Christian Beikov 6801ff0f26 Introduce option to configure how to store java.time.Duration 2022-03-25 20:20:28 +01:00
Christian Beikov 7020a1a563 Make sure timestampdiff returns a double for the SECOND unit as per JPA 3.1 2022-03-25 20:20:28 +01:00
Christian Beikov 5a2f92588c Do not reuse join that is treat joined 2022-03-25 15:27:14 +01:00
Andrea Boriero 99ed18c228 Add additional tests 2022-03-25 13:46:12 +01:00
Andrea Boriero 1a1a6c22f1 Fix @ForeignKeyey(ConstraintMode.NO_CONSTRAINT) throwing EntityNotFoundException 2022-03-25 13:46:12 +01:00
Steve Ebersole 33a7133695 HHH-15139 - Improvements for QueryInterpretationCache
- improvements to SqmInterpretationsKey
- improvements to AbstractFetchParent
2022-03-25 07:16:33 -05:00
Christian Beikov 6fd8034ec5 Use string based storage as fallback for JSON 2022-03-24 21:29:37 +01:00
Christian Beikov ad806ffc83 Fix compile error 2022-03-24 21:23:00 +01:00
Christian Beikov ce298a1566 Make use of type variable for a few CompositeUserType methods 2022-03-24 09:29:45 +01:00
Sanne Grinovero bee5bae7b6 HHH-15138 Further simplify BoundedConcurrentHashMap by removing support for NONE eviction 2022-03-23 18:22:42 +00:00
Sanne Grinovero 04bfdd49ab HHH-15138 Style and formatting fixes in BoundedConcurrentHashMap 2022-03-23 18:22:42 +00:00
Sanne Grinovero 1d1a142345 HHH-15138 Remove support for Eviction Listeners in BoundedConcurrentHashMap 2022-03-23 18:22:42 +00:00
Andrea Boriero 52d15cf769 Re-enabled additional tests 2022-03-23 18:21:09 +01:00
Steve Ebersole cc02b926fb HHH-15139 - Improvements for QueryInterpretationCache
- improvements to SqmInterpretationsKey
2022-03-23 11:32:13 -05:00
Christian Beikov 75a8ad1851 HHH-15135 Respect precision in temporal version types when generating timestamps 2022-03-23 16:20:18 +01:00
Steve Ebersole 8470d6db5b HHH-15132 - Improvements for NavigablePath
- additional refactoring of uses of `NavigablePath#getFullPath`
2022-03-22 21:26:41 -05:00
Steve Ebersole e496ec45ea HHH-15132 - Improvements for NavigablePath
- dropped `NavigablePath#fullPath` field - `#getFullPath` is now "(re)built" on demand
- adjust uses of `NavigablePath#getFullPath`
- refactor `NavigablePath` constructors
2022-03-22 21:26:41 -05:00
Steve Ebersole f474449e7d HHH-15132 - Improvements for NavigablePath
Begin breaking down "full path"
2022-03-22 21:26:41 -05:00
Scott Marlow 73153be99d remove spaces from hibernate.connection.datasource, hibernate.connection.pool_size, hibernate.connection.isolation
Signed-off-by: Scott Marlow <smarlow@redhat.com>
2022-03-22 14:55:36 -05:00
Steve Ebersole d276075ade HHH-15132 - Improvements for NavigablePath
Package move;
@Incubating
2022-03-21 02:53:56 -05:00
Christian Beikov fcb3664b08 Add some javadocs to TableGroupJoinProducer 2022-03-18 16:24:44 +01:00
Christian Beikov 2894f84d6e HHH-14487 Fix usage of wrong Map in PropertyAccessStrategyMapImpl 2022-03-18 15:22:45 +01:00
CHAPEL Guillaume c57d394445 HHH-15118 Fix duplicate ids with PooledOptimizer when sequence value is initialValue 2022-03-18 10:27:06 +01:00
Andrea Boriero e0e6050ba1 HHH-15117 ConstraintViolationException is thrown using same @SecondaryTable on two entities 2022-03-17 18:34:30 +01:00
Andrea Boriero 42e44f392b HHH-15117 Add test for issue 2022-03-17 18:34:30 +01:00
Christian Beikov 669d23319d Show an issue with BasicFormatterImpl 2022-03-17 18:34:21 +01:00
Benedikt Waldvogel 41741fb79c HHH-15065: Test that SQL statements are deterministic when using entity graphs 2022-03-17 18:33:34 +01:00
Andrea Boriero 3d39936728 HHH-15091 EntityManager.persist does not verify the existence of the one side of a many-to-one relationship 2022-03-17 17:35:50 +01:00
Andrea Boriero 2618a78f43 HHH-15091 Add test for issue 2022-03-17 17:35:50 +01:00
Andrea Boriero cb3690466f HHH-15098 Incorrect behavior when updating managed oneToMany collection on entity with naturalId 2022-03-17 17:33:00 +01:00
Andrea Boriero c35f495a7b HHH-15098 Add test for issue 2022-03-17 17:33:00 +01:00
Andrea Boriero 1d67993173 HHH-15111 MappingException is thrown for @JoinColumn with referencedColumnName on a @SecondaryTable 2022-03-17 17:28:55 +01:00
Andrea Boriero cd78676608 HHH-15115 Fix PostgreSQL SqmMultiTableMutationStrategy 2022-03-17 12:11:02 +01:00
Sanne Grinovero 6169a60ecd Always guard for Log level before producing log message parameters 2022-03-16 22:09:32 +00:00
Christian Beikov 2184a39dcf Temporarily disable a test for Oracle due to a bug in BasicFormatterImpl 2022-03-16 16:54:35 +01:00
Christian Beikov d17a6fbf85 Fix NPE with collection filter predicates when joins have no group alias 2022-03-16 16:54:35 +01:00
Christian Beikov 8cf0265f8d Make sure root virtual table group joins are rendered properly 2022-03-16 16:54:34 +01:00
Christian Beikov b227475489 Make sure the discriminator path uses the correct table group 2022-03-16 16:54:34 +01:00
Christian Beikov 20564a5547 Make sure DML updates do inserts into secondary tables when necessary 2022-03-16 16:54:34 +01:00
Christian Beikov 955e8265dc Do not expose id class embeddables through getManagedTypes 2022-03-16 16:54:34 +01:00
Christian Beikov 7f4a4afd64 Also create inverse model parts for nested embeddable attributes 2022-03-16 16:54:34 +01:00
Christian Beikov c548a79f0b Introduce special part name for FK target part to avoid issues with composite FK initializers 2022-03-16 16:54:34 +01:00
Christian Beikov 0ca38c8c87 Allow ordering query groups by attribute name and fix processing issue with nested set operations 2022-03-16 16:54:34 +01:00
Christian Beikov 246f1048a0 Add inverse NonAggregatedIdentifierMapping that uses VirtualIdEmbeddable as model part 2022-03-16 16:54:33 +01:00
Steve Ebersole 8c052054a8 Intermittent test failure (Sybase) 2022-03-15 12:35:45 -05:00
Steve Ebersole 9335d3efbf HHH-14993 - EAGER non-inverse collection throws StackOverflowError if `max_fetch_depth` not set 2022-03-15 09:41:36 -05:00
Steve Ebersole 38cffd0c8f HHH-14993 - EAGER non-inverse collection throws StackOverflowError if `max_fetch_depth` not set 2022-03-15 09:41:36 -05:00
Andrea Boriero 2d19bdbaf3 HHH-15113 Exception setting ParameterExpressions on Update Queries 2022-03-14 23:27:41 +00:00
Steve Ebersole 741b6b71f1 logging report 2022-03-11 14:45:43 -06:00
Steve Ebersole e16fbb6c31 report-tasks 2022-03-09 12:28:13 -06:00
Christian Beikov 293315ffa4 HHH-15105 Test and fix for NPE when access default query cache region statistics 2022-03-09 12:10:14 +01:00
Yoann Rodière a88170d24a HHH-15107 Upgrade to Mockito 4.3.1 2022-03-09 08:11:09 +01:00
Steve Ebersole 3a6ad2fd3a Fix test failure 2022-03-08 23:40:41 -06:00
Steve Ebersole 3dc0dd0a6f HHH-15114 - Clean up deprecations 2022-03-08 21:39:21 -06:00
Steve Ebersole 1fe1110f0b HHH-15106 - fk() SQM function 2022-03-08 21:00:08 -06:00
Steve Ebersole 415b28f116 HHH-15114 - Clean up deprecations 2022-03-08 20:24:14 -06:00
Jan Schatteman c46ec5a14e Removed deprecated AbstractEntityPersister.getIdentityDelegate()
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-03-08 18:42:18 -06:00
Jan Schatteman 91a1ff81f8 Removed deprecated SharedSessionContractImplementor.getTimestamp()
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-03-08 18:42:18 -06:00
Jan Schatteman 291e755686 Removed deprecated methods in ProxyFactoryFactory and NoneBasicProxyFactory
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-03-08 18:42:18 -06:00
Jan Schatteman 9fc2b3dea5 Removed deprecated LazyAttributesMetadata.getAttributesInSameFetchGroup(...)
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-03-08 18:42:18 -06:00
Jan Schatteman 4b5d3e645b Removed deprecated SessionFactoryOptions.getStatelessInterceptorImplementor()
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-03-08 18:42:18 -06:00
Jan Schatteman 2244ab8e61 Removed deprecated QueryEngine.DEFAULT_PARAMETER_METADATA_MAX_COUNT
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-03-08 18:42:18 -06:00
Jan Schatteman 4669fc7c4c Removed deprecated org.hibernate.mapping.AuxiliaryDatabaseObject
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-03-08 18:42:18 -06:00
Jan Schatteman 7931e9c755 Removed deprecated non-static methods from LobTypeMappings and NationalizedTypeMappings
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-03-08 18:42:18 -06:00
Jan Schatteman 8e068d7647 Removed deprecated SessionFactoryServiceInitiator.initiateService(SessionFactoryImplementor, SessionFactoryOptions, ServiceRegistryImplementor)
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-03-08 18:42:18 -06:00
Jan Schatteman b1ec3ab78b Removed deprecated Interceptor.onPrepareStatement(String sql)
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-03-08 18:42:18 -06:00
Jan Schatteman 13527366c9 Removed deprecated setFlushMode from Session and SharedSessionContractImplementor
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-03-08 18:42:18 -06:00
Jan Schatteman 8b0f70f066 Removed deprecated MetadataBuildingOptions.getReflectionManager()
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-03-08 18:42:18 -06:00
Jan Schatteman 41016674cb Removed deprecated InFlightMetadataCollector.getClassmateContext()
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-03-08 18:42:18 -06:00
Jan Schatteman 6564abe4c7 Removed deprecated transactionContext() from SharedSessionBuilder
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-03-08 18:42:18 -06:00
Christian Beikov 34b4e873df Get rid of StateArrayContributor 2022-03-08 23:10:35 +01:00
Christian Beikov af9edd50d6 Add SqlTypes.TIMESTAMP_UTC to as jdbc type for java.time.Instant 2022-03-08 23:05:09 +01:00
Christian Beikov 964e72f536 Implement support for TimeZoneStorageType.COLUMN 2022-03-08 23:05:09 +01:00
Christian Beikov fa750a9c26 Make LONGX types synonyms for X types again and remove unnecessary case labels 2022-03-08 21:59:49 +01:00
Christian Beikov 2c80250b0e Replace typeNames in Dialect with SqlType and SqlTypeRegistry that dialects contribute into 2022-03-08 21:59:49 +01:00
Christian Beikov 7a55c7b34b HHH-15071 Apply type inference in SQM for like predicate and avoid NPE in query parameters 2022-03-08 19:51:55 +01:00
Christian Beikov 3d55855a87 HHH-13694 fix numeric overflow exception for large sequence min values 2022-03-08 19:49:48 +01:00
Steve Ebersole 0af7ed353a HHH-15099 - Improve handling of associations marked with @NotFound
HHH-15106 - fk() SQM function
2022-03-08 06:22:03 -06:00
Steve Ebersole 362b4c0ac7 HHH-15106 - fk() SQM function 2022-03-08 06:21:50 -06:00
Andrea Boriero 6e6cc5f06e Fix subquery throwing SqlTreeCreationException( Found un-correlated path usage in sub query) 2022-03-08 12:55:27 +01:00
Christian Beikov 0a73425520 Flatten the junctions in the SQM model 2022-03-07 15:40:58 +01:00
Steve Ebersole 71e3b5277a HHH-15099 - Improve handling of associations marked with @NotFound
- test consolidation
2022-03-05 08:59:31 -06:00
Steve Ebersole 82feac6bd3 HHH-15099 - Improve handling of associations marked with @NotFound
- support for NotFound on logical 1-1 defined on JoinTable
2022-03-05 08:59:31 -06:00
Steve Ebersole ed5831f482 HHH-15099 - Improve handling of associations marked with @NotFound
- clean-up
2022-03-05 08:59:31 -06:00
Steve Ebersole c5ac528a24 HHH-15099 - Improve handling of associations marked with @NotFound
- database snapshot handling
2022-03-05 08:59:31 -06:00
Steve Ebersole ceb7df0c51 HHH-15099 - Improve handling of associations marked with @NotFound
- Javadoc improvements for `@NotFound`-related tests
2022-03-05 08:59:31 -06:00
Steve Ebersole d52ebfb41d HHH-15099 - Improve handling of associations marked with @NotFound
- Keep track of NotFoundAction into mapping model
- Fix tests with erroneous assertions about `@NotFound` associations allowed to be lazy
2022-03-05 08:59:31 -06:00
Steve Ebersole de97e8e1a4 HHH-15099 - Improve handling of associations marked with @NotFound
- Tests
2022-03-05 08:59:31 -06:00
Christian Beikov bdf8b2fc2e Fully generify and simplify UserType contract 2022-03-04 11:14:17 +01:00
Steve Ebersole e5c719b843 HHH-15099 - Improve handling of associations marked with @NotFound
- Tests
2022-03-03 16:13:49 -06:00
Steve Ebersole 2ced4caa2c NonLazyEntityFetch improvements 2022-03-03 16:04:42 -06:00
Steve Ebersole ec737a7f15 HHH-15099 - Improve handling of associations marked with @NotFound
- Disable physical foreign-key export for `@NotFound` mappings
2022-03-03 15:45:58 -06:00
Sanne Grinovero 572171e27f Jandex, Classmate and commons annotations shouldn't be listed as API 2022-03-03 19:23:58 +00:00
Christian Beikov e9b3066f93 Add sql type name and size information to selectable mapping 2022-03-03 10:34:26 +01:00
Yoann Rodière 3d8f5db3e0 HHH-15090 Allow passing unloaded types and a TypePool to ByteBuddyProxyHelper#buildUnloadedProxy
This is necessary to solve this bug in Quarkus.
2022-03-03 09:39:23 +01:00
Yoann Rodière 9dcd5e55b1 HHH-15090 Test lazy loading with extended bytecode enhancement and inheritance 2022-03-03 09:39:23 +01:00
Yoann Rodière e989f20b33 HHH-15090 Fix access to public field with extended bytecode enhancement returning null for entity lazy-loaded from polymorphic toOne association 2022-03-03 09:39:23 +01:00
Christian Beikov b6b500200b Use BAG for unowned OneToMany and throw an error if @OrderColumn is found on unowned ManyToMany 2022-03-02 17:02:53 +01:00
Christian Beikov a91d23825f Make list semantics setting explicit for failing tests 2022-03-02 17:02:53 +01:00
Christian Beikov 7aaeebe3af Switch back to bag by default for list semantics 2022-03-02 17:02:53 +01:00
Yoann Rodière 4f7d4b7fdb HHH-15094 Handle http://hibernate.org and https://hibernate.org for DTDs in LocalXmlResourceResolver 2022-03-01 16:23:38 +00:00
Yoann Rodière 19073672db HHH-15094 Handle both HTTP and HTTPS versions of DTDs in LocalXmlResourceResolver 2022-03-01 16:23:38 +00:00
Yoann Rodière 8c263b3945 HHH-15094 Test LocalXmlResourceResolver 2022-03-01 16:23:38 +00:00
Yoann Rodière 8c0bc94480 HHH-15094 Remove duplicate DTD descriptor 2022-03-01 16:23:38 +00:00
Yoann Rodière d56032ab7f HHH-15094 Add JPA 3.0 XSDs to LocalXmlResourceResolver 2022-03-01 16:23:38 +00:00
Brian Stansberry 9a23a679bd HHH-15084 Remove use of BeanManager.createInjectionTarget(AnnotatedType) 2022-02-28 12:34:35 +00:00
Christian Beikov 8e6fb5636b Adapt EmbeddableInstantiator and CompositeUserType to accept a ValueAccess instead of a Supplier 2022-02-25 19:15:38 +01:00
Christian Beikov c520b48487 Implement support for CompositeUserType and re-enable tests that make use of it 2022-02-25 15:36:16 +01:00
Christian Beikov 277f10d987 Support implicit joins in plural path parts and fix issues with type resolving of sub query paths 2022-02-24 07:16:38 +01:00
Christian Beikov 247689824f Re-enable some tests 2022-02-24 07:16:38 +01:00
Christian Beikov 335ed19821 Various fixes
* Fix parsing soft-keywords as naked identifiers
* Create proper correlations during parsing
* Fix some type inference issues with entity valued paths
2022-02-24 07:16:38 +01:00
Andrea Boriero 075cc8d108 Fix not increase the statistic loaded entity number when query cache is hit 2022-02-23 09:37:22 +01:00
Yoann Rodière cf9d131d35 HHH-15082 Correctly propagate the original exception when aborting a JDBC batch fails
Not strictly necessary, but it's related to these changes
and I think it's a good idea.
2022-02-18 20:36:58 +00:00
Yoann Rodière 14c8fb752d HHH-15082 Test that batch statements are aborted if a RuntimeException is thrown by Batch#addToBatch
Such an exception can be thrown if an expectation
(org.hibernate.jdbc.Expectation) is not met, for example if an update
statement for a given entity affects 0 rows (e.g. because of a concurrent
update).
2022-02-18 20:36:58 +00:00
Yoann Rodière ec6cd5d0cc HHH-15082 Abort JDBC batches on runtime exceptions as well as SQLException 2022-02-18 20:36:58 +00:00
Christian Beikov 73e9859fea Re-enable more tests.
* Make sure subselect fetch registrations are per navigable path
* Consider the result class for native queries
* Fix issues with nested property references
* Fix list expansion issues for native queries
2022-02-18 12:11:07 +01:00
Andrea Boriero 40bcb97232 Fix String index out of range when wrapping an char 2022-02-17 08:17:29 +01:00
Andrea Boriero cc750a9abd Fix Session#setProperty() for cache and timeout related properties 2022-02-17 08:16:45 +01:00
Christian Beikov c02ce35aa0 Implement on the fly callable named native query to stored procedure translation 2022-02-17 08:14:10 +01:00
Christian Beikov 439788198f Fix some stored procedure and native query issues 2022-02-17 08:14:10 +01:00
Andrea Boriero 8ed1ed5159 Re-enabled additional tests 2022-02-16 16:32:49 +01:00
Steve Ebersole 32ee43cfe7 Added missing space per code-style
Added missing space per code-style
2022-02-16 08:43:39 -06:00
William Burns 6685a7a145 HHH-15080 Session Refresh can cause StaleObjectStateException when entry in 2LC is reread 2022-02-16 08:43:39 -06:00
Andrea Boriero 26e98c0879 Fix BasicTypeResolution for collections annotated with @MapKeyTemporal 2022-02-15 19:02:07 +01:00
Andrea Boriero f14e70cb8f Re-enabled additional tests 2022-02-15 17:45:39 +01:00
Christian Beikov 2873440a25
Use proper RequiresDialect annotation 2022-02-15 13:23:55 +01:00
Christian Beikov b9dca52ecc Fix ProcedureParameterTests 2022-02-15 11:40:41 +01:00
Christian Beikov 9b6ddc8c0b Fix GeneratedAnnotationTests 2022-02-15 11:38:05 +01:00
Christian Beikov 98816362e2 Fix EntityWithManyToOneSelfReferenceTest 2022-02-15 10:11:15 +01:00
Christian Beikov b85f530b42 Log warning when FetchStyle.JOIN is used with LAZY and add migration guide entry for fetch all properties 2022-02-15 09:47:12 +01:00
Christian Beikov dc6ad33cfc HHH-10463 Implement function argument type inference 2022-02-15 09:04:50 +01:00
Christian Beikov 260c738a5a Get rid of some `getEntityMetamodel` uses 2022-02-15 09:03:55 +01:00
Christian Beikov 87638a9a2e Get rid of most walking stuff 2022-02-14 22:55:45 +01:00
Christian Beikov 1a71bb9787 Fix root validation for subqueries that appear in the on clause 2022-02-14 22:55:21 +01:00
Christian Beikov 0f02279f10 Implement partial null key handling and respect lazy flag regardless of fetch style 2022-02-14 20:13:53 +01:00
Andrea Boriero 3b6d25425a HHH-15073 Test criteria query built from JPA metamodel and involving primitive types 2022-02-14 09:34:28 +01:00
Yoann Rodière c1078b2612 HHH-15073 CriteriaPrimitiveIdTest: use only JPA interfaces that are available in Hibernate ORM 5 2022-02-14 09:34:28 +01:00
Yoann Rodière c4e763c5c5 HHH-15073 Test criteria query built from JPA metamodel and involving primitive types 2022-02-14 09:34:28 +01:00
Andrea Boriero d8a98af76e Fix LocalTime and OffsetTime parameter binding 2022-02-11 13:16:28 +01:00
Andrea Boriero 83306d588d Call to Query#getParameterValue(int position) with closed EntityManager must throw an IllegaStateException 2022-02-11 11:36:50 +01:00
Christian Beikov 5bfbc466eb Rename JPA copy compliance setting to `hibernate.criteria.copy_tree` 2022-02-10 18:24:23 +01:00
Andrea Boriero 07f3d6727f Fix native named query max results 2022-02-10 14:27:36 +01:00
Gavin King 74e1e6caad catch other cases where NPE indicates that a PostInitCallbackEntry is unready 2022-02-10 14:05:14 +01:00
Gavin King 9a98976b41 don't use NPE to indicate that a PostInitCallbackEntry is unready and needs to be re-queued
because:

- to anyone stepping through the code it looks like a bug
- nobody *reading* the code would have any way of guessing
  that this is behavior that can happen, much less that it's
  expected and correct
2022-02-10 12:16:16 +01:00
Andrea Boriero 6fcbe5f0a0 Fix parameter binding validation 2022-02-10 09:39:23 +01:00
Gavin King 437da23961 removing a questionable grammar rule seems to make implicit collection joins work 2022-02-09 22:05:21 +01:00
Gavin King 9ebac67737 change the new syntax for HQL collection-aggregates
this feels more consistent to me, and avoids introducing "new" syntax
2022-02-09 22:05:21 +01:00
Christian Beikov 5828536428 Implement window function support in HQL 2022-02-09 18:32:27 +01:00
Christian Beikov d5d1cf937c Fix a type and missing branches in base walkers for ordered set aggregates 2022-02-09 18:31:14 +01:00
Christian Beikov 236ece769b Implement query transformer to emulate for ordered set aggregate functions through their window variants 2022-02-09 18:31:14 +01:00
Christian Beikov f52cf04a16 Introduce QueryTransformer for functions 2022-02-09 18:31:14 +01:00
Christian Beikov c2ee076ce6 Change the way persisting works as needed for list semantics and throw
proper error on null list index
2022-02-08 16:32:25 +01:00
Yoann Rodière 62b4d249ee HHH-15054 Reproducer for cascade-delete NPE on entity with @OneToMany(mappedBy = ...) 2022-02-08 16:32:25 +01:00
Christian Beikov 842ebd0e7e Make use of function return type resolver for elements/indices functions 2022-02-08 16:32:09 +01:00
Christian Beikov 9b53ca8559 Implement support for using generically typed associations to re-enable inheritance/discriminator tests 2022-02-08 15:40:02 +01:00
Andrea Boriero eb572376a9 Implemented NamedQuery creation from Criteria 2022-02-08 14:46:28 +01:00
Gavin King bd5b05cbe3 improve error messages 2022-02-08 14:26:49 +01:00
Gavin King 0dfa91f6ec add a test 2022-02-08 14:26:39 +01:00
Gavin King eefdb4acd6 test demonstrating enduring problems with minelement()/maxelement() 2022-02-08 13:38:00 +01:00
Christian Beikov 4e19e322a3 Don't create table groups for the plural path of a plural part path 2022-02-08 13:25:55 +01:00
Christian Beikov 89bf82fee4 Avoid eagerly resolving secondary tables when using discriminator path 2022-02-08 12:23:43 +01:00
Christian Beikov cab03a238d Add treat test for TCK compliance 2022-02-08 12:23:43 +01:00
Christian Beikov 0a5b62421e Fix treat join issue with one-to-many and make sure table pruning always works. Also fix some issues with union subclass pruning 2022-02-08 12:23:43 +01:00
Gavin King ccee58add8 add some Javadoc, and rename a class 2022-02-07 21:04:54 +01:00
Gavin King 285c2099c8 try to make test work on Maria 2022-02-07 19:15:54 +01:00
Gavin King addc3ea4c2 split out IntegralTimestampaddFunction 2022-02-07 19:15:54 +01:00
Gavin King 3e97fe39a7 make TimestampaddFunction understandable using Extract Method 2022-02-07 19:15:54 +01:00
Gavin King 52c7f61815 add tests for avg(index) and avg(element) 2022-02-07 19:15:54 +01:00
Gavin King 3b221b7b18 remove a garbage feature (FieldFunction) 2022-02-07 19:15:54 +01:00
Gavin King 75888b94f2 use CastFunction to do typecasts 2022-02-07 19:15:54 +01:00
Christian Beikov dc65d041d1 Fix issues with min/max element/index in the select clause 2022-02-07 12:07:03 +01:00
Christian Beikov e0a35287c9 test showing maxindex() / maxelement() broken 2022-02-07 12:07:03 +01:00
Andrea Boriero 768e6873fd Fix Attribute#getJavaType() returs also primitive types 2022-02-07 10:26:44 +01:00
Gavin King a25758f519 don't write @SuppressWarnings({ "unchecked" }) 2022-02-05 20:03:50 +01:00
Gavin King 4b1cd56218 improve Javadoc of JdbcType 2022-02-05 20:00:20 +01:00
Gavin King bedd31b36e clean up a bunch of generics-related warnings 2022-02-05 20:00:20 +01:00
Gavin King a7da40709c clean up looping, using indexed for instead of local var 2022-02-05 15:40:31 +01:00
Gavin King 5de6c703a8 clean up the way JdbcLiteralFormatter is called
this is a case where we can use wildcard capture
2022-02-05 15:09:19 +01:00
Gavin King 09470bd55a fix a couple of warnings in Dialect 2022-02-05 12:31:52 +01:00
Gavin King c2f0ab8fcf get rid of warnings involving JdbcFormatter
also get rid of som explicit type args using <>
2022-02-05 12:26:09 +01:00
Gavin King 2f08812187 fix the round() function on Postgres
for some dumb reason, round(x,n) doesn't accept a double on pg
2022-02-04 18:15:34 +01:00
Andrea Boriero f7d5bc857b Fix SqmMemberOfPredicate negation determination 2022-02-04 15:59:18 +01:00
Andrea Boriero 9a2c87808b Fix mutation queries using temporary table not adding discriminator column 2022-02-04 13:57:48 +01:00
Andrea Boriero e24611e0c3 Call EntityMenager#createQuery() that causes RuntimeException should mark Transaction for Rollback 2022-02-04 11:49:17 +01:00
Yoann Rodière 51e556ebde HHH-15068 Don't try to instantiate types through the bean manager when that's not possible 2022-02-04 10:20:56 +01:00
Yoann Rodière b8060d2df7 HHH-15068 Reproduce problem where type resolution accesses the bean manager before it's ready 2022-02-04 10:20:56 +01:00
blafond 5ced797dd5 HHH-15067: Set add() method as public to allow non-nullable associations in hibe…
…rnate-reactive
2022-02-03 21:14:04 +01:00
Gavin King 0f6295e6e1 remove a bunch of unused classes 2022-02-03 19:10:45 +01:00
Gavin King 11f784e23b add some Javadoc, fix warning, and remove some minor junk 2022-02-03 19:10:45 +01:00
Gavin King c41c5c7472 simplify some code in SchemaAutoTooling 2022-02-03 19:10:45 +01:00
Gavin King 4904f64b2e remove an unused JACC-related class 2022-02-03 19:10:45 +01:00
Christian Beikov 734b80c531 Add test and fix non-pk association comparison issues 2022-02-03 11:55:31 +01:00
Gavin King a4a15e8b35 use single quotes instead of backticks for consistency 2022-02-02 20:00:58 +01:00
Yoann Rodière c861e465a7 HHH-15057 Fix exception on persisting bidirectional, list many-to-many association 2022-02-02 18:09:38 +01:00
Yoann Rodière 4f6b60e3ee HHH-15057 Reproducer for exception about order on many-to-many list 2022-02-02 18:09:38 +01:00
Andrea Boriero fef147d6a4 Fix binding issue for Criteria with paramters having the same name 2022-02-02 15:36:09 +01:00
Andrea Boriero 971d1ea2f4 Fix function parameters type determination 2022-02-02 15:36:09 +01:00
Andrea Boriero b721aa9b86 Fix SqmAttributeJoin#copyTo() method 2022-02-02 09:06:33 +01:00
Gavin King d0255d2c2b make CommonFunctionFactory a real object 2022-02-01 18:21:55 +01:00
Gavin King fed23e51b5 extract method on duplicated expressions in CFF 2022-02-01 15:38:55 +01:00
Andrea Boriero 6327616c8d EntityManager#find() throws IllegalArgumentException for wrong arguments 2022-02-01 14:02:38 +01:00
Christian Beikov 0509b10040 Implement support for ordered set-aggregate functions like listagg, percentile_disc, rank etc. 2022-02-01 13:38:32 +01:00
Andrea Boriero bd2446a5d5 Fix throw IllegalArgumentException for query with no roots specified 2022-02-01 13:32:50 +01:00
Gavin King 5a549ea5b4 fix initialization of SingleTableEntityPersister to be eager 2022-02-01 00:34:14 +01:00
Gavin King dcd7ebbb56 clean up some warnings
use Metadata instead of deprecated Mapping
(I'm not sure that's really an improvement)
2022-02-01 00:34:14 +01:00
Jan Schatteman d2b740ce5b
Jrenaat 6.0 deprecation removals (#4718)
* Removed deprecated org.hibernate.boot.jaxb.internal.stax.LocalSchema

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Remove some deprecations from org.hibernate.engine.jdbc

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Remove deprecated misspelled method in PostActionEventListener

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Remove deprecated getSource() from AbstractPreDatabaseOperationEvent

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Privatize deprecated buildOptimizer method in OptimizerFactory

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Remove deprecated ServiceContributingIntegrator

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Remove some more deprecated features

Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-01-31 19:14:48 +01:00
Christian Beikov 0ad5796ffd Implement SQM copying for JPA Criteria API uses 2022-01-31 19:04:37 +01:00
Andrea Boriero 5446291171 Throw UnknownSqlResultSetMappingException for non existing StoreProcedure result mapping 2022-01-31 17:34:38 +01:00
Andrea Boriero b139967be1 Fix Criteria Subquery#getSelection() returns null when it has not any select expression 2022-01-31 17:34:11 +01:00
Christian Beikov de0dd8cda3 Copy DomainParameterXref on demand instead of recreating to avoid instance mismatch with ParameterMetadata 2022-01-31 16:55:59 +01:00
Christian Beikov 1e823386f6 Support FK column access optimization also for associations in embeddables of an element collection 2022-01-31 16:55:59 +01:00
Christian Beikov afdedb0fc5 Avoid rendering unnecessary parenthesis for junctions 2022-01-31 16:55:59 +01:00
Christian Beikov cd555de724 Fix NPE for unbound parameters due to wrong type determination 2022-01-31 16:55:59 +01:00
Christian Beikov ce5951a948 Fix type inference for binary arithmetic expressions 2022-01-31 16:55:59 +01:00
Christian Beikov af42f3a76c Allow controlling whether selection item deduplication should happen and disable deduplication in subqueries. Remove some dead code and fix a possible NPE. Expose some JdbcOperation fields for libraries to make it easy to produce a derived operation. 2022-01-31 16:55:59 +01:00
Gavin King ef391bf644 get rid of warnings about use of deprecated PersisterCreationContext 2022-01-31 14:10:04 +01:00
Gavin King 1c73be8ba4 remove use of deprecated method 2022-01-31 14:10:04 +01:00
Gavin King 3f563087e6 add a couple of comments 2022-01-31 11:29:24 +01:00
Gavin King c9015bcd8d make ln() and exp() have the return type Double 2022-01-31 11:29:24 +01:00
Gavin King 385cba79d8 remove PowerReturnTypeResolver
You can't do "exact decimal" exponentiation. For the same reason that
sqrt() is of type Double in the JPA, pow(decimal, 0.5) is also of type
Double.

Yes, yes, I know that some dbs (Postgres!) claim that the return type is
NUMERIC for NUMERIC arguments. But go on, try it: yes, the return type of
typed NUMERIC, but then it has a very suspicious number of digits. Hrrm....
17 decimal digits, now why does that specific number ring a bell?
2022-01-31 11:29:24 +01:00
Gavin King 5b5c76abfd fill in type parameters of raw type in Type interface 2022-01-30 19:28:24 +01:00
Gavin King 1b0862babd introduce Contexts for the other cascading operations that need them
and typesafety, finally!
2022-01-30 19:28:24 +01:00
Gavin King 7570d15291 finally fix the warnings and typecasts in DefaultMergeEventListener
by using MergeContext instead of (raw!) Map
2022-01-30 19:28:24 +01:00
Gavin King b75613cff1 edit the (excellent) javadoc of MergeContext 2022-01-30 19:28:24 +01:00
Gavin King 772c4533ee move inner classes of CommonFunctionFactory to toplevel 2022-01-30 19:01:36 +01:00
Gavin King 8025af7592 add some code comments documenting some decisions taken here
cc @beikov
2022-01-30 16:58:24 +01:00
Gavin King f5278ce678 javadoc about XML format mappings 2022-01-29 19:18:38 +01:00
Gavin King 9a11e843e6 stop calling factory.getJdbcServices().getDialect() so much 2022-01-29 18:00:39 +01:00
Gavin King 48dc4662ef move subclassColumnClosure down to the only subclass that uses it 2022-01-29 17:46:42 +01:00
Gavin King 135216b0a9 fix some warnings in a couple of tests 2022-01-29 17:01:57 +01:00
Gavin King 56232a0159 remove a bunch of unused junk from the persisters
this is a potential performance gain!
2022-01-29 17:01:57 +01:00
Gavin King 929cbd1139 add missing @Override annotations 2022-01-29 17:01:57 +01:00
Gavin King 38f4c70e7b split up TypeHelper 2022-01-29 12:55:27 +01:00
Gavin King 6c3b74d39e clean up an important test 2022-01-29 11:16:20 +01:00
Gavin King e8d7c98798 deprecate two operations that are no longer called
... and return deprecated types
2022-01-29 11:15:55 +01:00
Gavin King ea36099571 fix some deprecation warnings by using getValues() instead of getPropertyValues()
though I don't like the underlying deprecation that made this necessary, and I
would prefer to be able to roll back these changes
2022-01-29 10:58:37 +01:00
Gavin King 678adbf682 add some missing (since = "6.0") 2022-01-29 10:55:50 +01:00
Gavin King 3f1cc36c2a fix some warnings in QueryResultsCacheImpl 2022-01-29 10:48:23 +01:00
Gavin King d86e9b6ab6 minor stylistic review and generics fixes in event stuff 2022-01-29 10:32:49 +01:00
Gavin King c086fff1f8 fix some warnings in a couple of tests 2022-01-29 09:00:14 +01:00
Gavin King c807aecdb9 add some @FunctionalInterface annotations
and fix a warnings
2022-01-29 08:59:34 +01:00
Gavin King 232ad00f5c add some missing (since="6.0") 2022-01-29 08:57:25 +01:00
Gavin King cd7417e815 remove unwrap() methods that aren't to do with proxying
it's better to do this stuff in a more typesafe way
2022-01-29 02:12:44 +01:00
Gavin King 2e2a544584 correct fix for Interceptor.onSave()
see 9898151dda

This change broke the ability to selectively implement methods of Interceptor,
and also broke backwards compatibility with older implementations of Interceptor.
2022-01-29 02:12:25 +01:00
Gavin King 2090df4a08 fix some raw types in Configuration 2022-01-29 02:12:25 +01:00
Gavin King 9276ce4421 explain how to get things in the javadoc 2022-01-29 00:43:08 +01:00
Gavin King f388b2fb2b Javadoc for SessionFactoryBuilder and lots of crossrefs 2022-01-28 19:46:39 +01:00
Gavin King 77137f7407 remove type parameter from BasicValueBinder
why it ever had one, I can only speculate
2022-01-28 17:25:16 +01:00
Gavin King fb1650f789 refresh Javadoc for Configuration and friends 2022-01-28 17:16:59 +01:00
Andrea Boriero b1a09d5630 Fix Criteria#getResultType() returning Object class instead of null 2022-01-28 16:51:00 +01:00
Gavin King 475d028981 remove @TimeZoneColumn for now because it's unimplemented
and there's no plan to implement it for 6.0

(we can put it back later if someone gets around to implementing it)
2022-01-28 16:01:58 +01:00
Gavin King 5f1358633d remove a deprecation that was probably an accident 2022-01-28 14:05:09 +01:00
Gavin King d4f934881c fix some warnings and other misc cleanups to .cfg package 2022-01-27 22:08:39 +01:00
Andrea Boriero f9141ecb5a Add additional test 2022-01-27 20:10:24 +01:00
Gavin King 6bfa8d6c27 fix disabling of fk in @ManyToOne associations 2022-01-27 19:44:32 +01:00
Gavin King abe0cc3108 javadoc for @NotFound and NotFoundAction 2022-01-27 19:39:36 +01:00
Gavin King 0a251e9a0e second round of binder cleanup: CollectionBinder, more AnnotationBinder 2022-01-27 18:13:09 +01:00
Gavin King 13b00f8907 massive cleanup of AnnotationBinder 2022-01-27 18:13:09 +01:00
Christian Beikov 9a22e615f5 Do not eagerly create a table group for implicit joins 2022-01-27 18:10:18 +01:00