Commit Graph

8926 Commits

Author SHA1 Message Date
Christian Beikov 61421d5d54 JPA requires that IllegalStateException be thrown instead of UOE 2022-11-10 16:44:06 +01:00
Christian Beikov 7a335393c7 HHH-15660 Make use of ReflectionOptimizer in more cases 2022-11-10 16:42:17 +01:00
Christian Beikov 7a14e5c07f HHH-15631 Enable reflection optimizer by default Christian Beikov 2022-11-10 16:42:17 +01:00
Christian Beikov 4fdbb3d5f6 Some reflection optimizer related fixes 2022-11-10 16:42:17 +01:00
Emond Papegaaij 2a93aa5467 HHH-15703 Append remainder of SQL fragment after last parameter 2022-11-10 16:28:07 +01:00
Christian Beikov 90a752a0ee HHH-15328 Add support for CTE WITH clause 2022-11-10 13:25:21 +01:00
Gavin King 215d411ffa HHH-15702 also add matching getters 2022-11-10 11:17:19 +01:00
Gavin King 778675b867 HHH-15702 add Session.setCacheRetrieveMode, Session.setCacheStoreMode 2022-11-10 11:17:19 +01:00
Gavin King 5c90779a02 HHH-15702 add SelectionQuery.setCacheRetrieveMode, SelectionQuery.setCacheStoreMode
also clean up some unnecessary overriding in Query hierarchy
2022-11-10 11:17:19 +01:00
Gavin King a56a7c523b HHH-15702 Javadoc for CacheMode
talk about how it relates to the JPA enums
2022-11-10 11:17:19 +01:00
Gavin King 51e2531c9c Javadoc for FetchMode, @Fetch, and @BatchSize 2022-11-10 00:41:25 +01:00
Gavin King bd7140eef7 HHH-15701 deprecate CacheModeType since it is a dupe of CacheMode
improve Javadoc
2022-11-09 23:38:29 +01:00
Gavin King 7bcbfdcc12 move getLockMode() up to SelectionQuery
squash some warnings in the query APIs
2022-11-09 21:50:50 +01:00
Gavin King c966acf178 JPA requires that IllegalStateException be thrown instead of UOE
leave code comments making this very clear, because it wasn't
clear at all (and is sort-of wrong)

on the other hand, add getHibernateLockMode(), and let the client
bypass the stupid JPA restriction
2022-11-09 21:50:50 +01:00
Jan Schatteman 2a92267cd8 HHH-13106 - Remove erroneous (incomplete) test and add a new one for this issue
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-11-09 20:00:55 +01:00
Gavin King 1607252bc3 HHH-15697 deprecate lock(entityName)
since we no longer encourage passing a detached object to this method
2022-11-09 18:20:04 +01:00
Gavin King 89c1b0f0ce HHH-15696 very basic test for multiply-mapped entity class 2022-11-09 18:20:04 +01:00
Gavin King 1cc7b72c4c HHH-15689 fix SessionFactoryBuilder#addEntityNameResolver() and add Configuration#addEntityNameResolver() 2022-11-09 18:20:04 +01:00
Gavin King f71cf01620 HHH-15652 roll back addition of remove(entityName, instance)
I messed up and forgot we don't want people passing detached
instances to remove().

reverts 4274cb4313
2022-11-09 14:34:02 +01:00
Gavin King 6f85a56cad add a note about explcict entity names to Session jdoc 2022-11-09 14:34:02 +01:00
Gavin King a12ba4c2e4 more verbiage surrounding cache concurrency
this is an important thing, and in the past we've been
very stingy on the documentation side
2022-11-09 12:23:12 +01:00
Gavin King cd425e3502 HHH-15691 add @Cache(includeLazy) and deprecate stringly-typed include member
+ add some javadoc
2022-11-09 11:28:13 +01:00
Gavin King d00b92259f Javadoc for @LazyGroup 2022-11-09 11:28:13 +01:00
Gavin King d8fcade838 Javadoc for @Cache and CacheConcurrencyStrategy 2022-11-09 11:28:13 +01:00
Gavin King d4b7aeeb3c Javadoc for @Cascade and CascadeType 2022-11-08 23:19:05 +01:00
Gavin King 3f7133f80b attempt to reduce allocations of LockOptions
- Sanne says we were allocating too many of these, so add a static instance
  of LockOptions for each LockMode
- just generally rationalize the code that deals with defaulting LockOptions
- change the impl of CascadingActions.LOCK because lock scope has nothing
  to do with cascading, and I don't see any reason why the LockOptions should
  not simply propagate if cascading is explicitly turned on
2022-11-08 22:45:29 +01:00
Gavin King 39bef7bc70 HHH-15682 fix potential classloading deadlock
+ add some documentation around follow-on locking
2022-11-08 22:45:29 +01:00
Gavin King 23ff00142f more javadoc about @Generated
including its relationship to @ColumnTransformer
2022-11-08 13:06:58 +01:00
Gavin King 61c128000b HHH-15672 introduce Generated(UPDATE) for properties only generated on update 2022-11-08 12:36:38 +01:00
Gavin King aaeed841c8 work on javadoc for UserType and CompositeUserType 2022-11-08 09:39:55 +01:00
Gavin King 2f1e85095c add link to EntityNameResolver in Interceptor javadoc
also fix a typo and get rid of uses of <tt> and <br>
2022-11-08 02:16:43 +01:00
Gavin King 450a159a8d improve javadoc for EntityNameResolver 2022-11-08 01:37:28 +01:00
Gavin King 9d141a2793 improve javadoc for LockModes, and deprecate LockOptions.SKIP_LOCKED
Use LockMode.UPGRADE_SKIPLOCKED instead of setting the timeout to -2.
2022-11-08 00:58:36 +01:00
Gavin King 02ad34091c HHH-15683+HHH-15684 clean up the handling of LockOptions for queries
This contains a change to LockOptions.overlay() which is breaking
in principle, but more natural and less fragile.

It also deprecates SelectionQuery.setAliasSpecificLockMode() which
I believe was added in 6.0 by mistake. The method is an overload of
setLockMode() in the rest of the hierarchy.
2022-11-08 00:58:36 +01:00
Gavin King 58ba65f529 HHH-15682 add ImmutableLockOptions
here we had an amazing idiom: static final instances of a mutable value class
2022-11-08 00:58:36 +01:00
Gavin King 61294250b3 HHH-15680 deprecate LockRequest and add overloads of lock() which accept LockOptions 2022-11-08 00:58:36 +01:00
Gavin King 4b7fcb5123 HHH-15681 use enum instead of boolean of lock scopes
also a bunch of Javadoc improvement for LockOptions and friends
2022-11-08 00:58:36 +01:00
Gavin King a5fa3739e2 HHH-15678,HHH-15677,HHH-15676 add two methods to SessionFactory and deprecate one
- added getDefinedFetchProfileNames() for consistency
- added findEntityGraphByName() which already existed but was not exposed
- deprecated getFilterDefinition() since it's a layer-breaker
- improved+added some Javadoc
2022-11-08 00:29:55 +01:00
Davide D'Alto af5ebb2a7f HHH-15581 Extract skipRow and bindParameters from DeferredResultSetAccess
So that Hibernate Reactive can call them.
2022-11-07 14:29:15 +00:00
Davide D'Alto 2f45da6e35 HHH-15581 Extract ResultHelper#createRowReader
This way Hibernate Reactive can call it and avoid
duplicated code.
2022-11-07 14:29:15 +00:00
Davide D'Alto 954eb793aa HHH-15581 Make EntityAction extends ComparableEntityAction 2022-11-07 14:29:15 +00:00
Davide D'Alto 76ba315194 HHH-15581 Add ComparableEntityAction interface 2022-11-07 14:29:15 +00:00
Davide D'Alto 75765905cc HHH-15581 Add getters so that Hibernate Reactive can access the fields 2022-11-07 14:29:15 +00:00
Davide D'Alto 1a9a3c1c4b HHH-15581 Extend the scope of several methods
This way Hibernate Reactive can access or override them.
2022-11-07 14:29:15 +00:00
Andrea Boriero 3897f61136 HHH-15608 Error In Native Query where column is mapped twice 2022-11-07 10:42:51 +01:00
Andrea Boriero 2ddd9b1e08 HHH-15608 Add test for issue 2022-11-07 10:42:51 +01:00
Philippe Marschall 4aede4ca88 HHH-15670 Implement RequiresDialectFeature.reverse()
- implement RequiresDialectFeature.reverse()
- remove not-feature checks to reverse = true
2022-11-07 09:32:22 +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 c1e1b58e57 link to equivalent JPA operations on PersistenceUtil in javadoc 2022-11-06 15:10:52 +01:00
Gavin King 971a022eb6 Javadoc surrounding fetch profiles 2022-11-06 15:10:52 +01:00
Gavin King f9164fc32f explain what a second-level cache is in Javadoc 2022-11-05 13:37:17 +01:00
Gavin King 4a2792bed8 improvements to javadoc for StatelessSession, Session, and overview page 2022-11-05 13:37:17 +01:00
Gavin King c7b42097aa light cleanup of AnnotationBinder 2022-11-05 11:28:23 +01:00
Gavin King 3d9bf07ac8 miscellaneous code cleanups 2022-11-04 22:31:43 +01:00
Gavin King 0d2aa57b5d HHH-15671 remove long-deleted interface RelationalModel 2022-11-04 22:31:43 +01:00
Gavin King ba3d5b4dd7 deprecate impls of decrecated interface NamingStrategy 2022-11-04 22:31:43 +01:00
Gavin King 7593d580b7 fix name of ResultSetMappingSecondPass 2022-11-04 22:31:43 +01:00
Gavin King a39fcf7669 remove unused direct annotation impl CustomizableColumns 2022-11-04 22:31:43 +01:00
Gavin King cea6774f01 HHH-15663 add @Generated(sql=....) 2022-11-04 17:51:00 +01:00
Gavin King f6e65dc91a tests for HHH-15663 and HHH-15570 2022-11-04 17:51:00 +01:00
Gavin King 383ffa56eb HHH-15663 add writable member to @Generated annotation
This is useful if you're using custom SQL, e.g. @SqlInsert.

Also improve the Javadoc surrounding all this stuff.
2022-11-04 17:51:00 +01:00
Gavin King aef9ab2425 HHH-15570 allow @SqlInsert, @SqlUpdate, @SqlDelete for secondary tables 2022-11-04 17:51:00 +01:00
Andrea Boriero 28b253512e HHH-15666 When a reference entry is found in the Second Level Cache there is not need to set its values 2022-11-04 16:15:54 +01:00
Andrea Boriero 865f28a5d5 HHH-15666 Add test for issue 2022-11-04 16:15:54 +01:00
Sanne Grinovero ca79c91c56 HHH-15662 ClasscastException caused by check for Managed rather than ManagedEntity 2022-11-04 08:54:05 +00:00
Sanne Grinovero bde7362d9c HHH-15634 Extracting reusable Type constants from ByteBuddy InlineDirtyCheckingHandler 2022-11-03 19:48:42 +00:00
Sanne Grinovero 93355272fd HHH-15634 Extracting constant for @Transient annotation in ByteBuddy Enhancer 2022-11-03 19:48:42 +00:00
Scott Marlow a40fea29c0 HHH-15656 use privileged action when invoking ScheduledExecutorService.shutdown
Signed-off-by: Scott Marlow <smarlow@redhat.com>
2022-11-03 17:41:28 +01:00
Scott Marlow 8f2325ed4a HHH-15655 use privileged operation when defining classes
Signed-off-by: Scott Marlow <smarlow@redhat.com>
2022-11-03 17:41:28 +01:00
Gavin King 0b34025f1a HHH-15652 add missing Session.remove(entityName, object) method
Since we deprecated delete() there's no blessed way to do this.
2022-11-02 19:21:00 +01:00
Gavin King bb0edab332 rewrite EntityBinder 2022-11-02 19:20:17 +01:00
Gavin King 3cd90d7615 clean up CollectionBinder and friends 2022-11-02 19:20:17 +01:00
Gavin King 38b4e8e01b very minor cleanups, and more Javadoc in BinderHelper 2022-11-02 19:20:17 +01:00
Gavin King e2f42cd0bc introduce ForeignKeyType and AnnotationJoinColumns.getReferencedColumnsType() 2022-11-02 19:20:17 +01:00
Gavin King 849246e3cd finally move propertyName from AnnotatedColumn 2022-11-02 19:20:17 +01:00
Gavin King e4c1d493e3 finally move context + joins from AnnotatedColumn 2022-11-02 19:20:17 +01:00
Gavin King 18003b92dc finally move propertyHolder from AnnotatedColumn 2022-11-02 19:20:17 +01:00
Gavin King 585522fde1 extract some little helper methods 2022-11-02 19:20:17 +01:00
Gavin King ec336f3a23 introduce AnnotatedColumns 2022-11-02 19:20:17 +01:00
Gavin King 653bf987bd introduce AnnotatedJoinColumns and remove deprecated stuff 2022-11-02 19:20:17 +01:00
Gavin King ce12d4a586 improve Javadoc to types in mapping package 2022-11-02 18:52:56 +01:00
Gavin King cbaf856e18 squash some generic type-related warnings 2022-11-02 18:52:56 +01:00
Christian Beikov a471bbea8c HHH-15648 Fix fetching association and using implicit path in condition 2022-11-02 11:53:23 +01:00
Sanne Grinovero 60e81a7a4d HHH-15651 Refactoring of common iterations in EntityEntryContext 2022-11-01 20:45:35 +00:00
Sanne Grinovero cdbf92fd71 HHH-15651 StatefulPersistenceContext#clear shouldn't need defensive copies for iteration 2022-11-01 20:45:35 +00:00
Sanne Grinovero 001de2b203 HHH-15651 Logging guard improvements in StatefulPersistenceContext 2022-11-01 20:45:35 +00:00
Sanne Grinovero bedbd402e6 HHH-15649 Additional performance fixes relating to Klass's _secondary_super_cache interaction with entity enhancement 2022-11-01 11:18:54 +00:00
Gavin King 77d1bdac4c Javadoc improvements for naming strategies and Any mappings 2022-11-01 11:56:19 +01:00
Andrea Boriero 90b1cfe2c3 HHH-15634 Lazy basic property does not get updated on change: inline dirty checking, lazy basic properties are not upated when set to null 2022-10-31 11:45:31 +01:00
Andrea Boriero 6d99eb1068 HHH-15634 Lazy basic property does not get updated on change 2022-10-31 11:45:31 +01:00
Andrea Boriero ee372fad58 HHH-15634 Run the tests also without dirty checking enabled 2022-10-31 11:45:31 +01:00
Yoann Rodière d5aa85e90c HHH-15634 Test updating one or all of multiple lazy basic properties 2022-10-31 11:45:31 +01:00
Yoann Rodière b82d906841 HHH-15634 Test updating a single lazy property with no lazy group 2022-10-31 11:45:31 +01:00
Yoann Rodière 66daac53a2 HHH-15634 Fix naming of LazyBasicFieldAccessTest/LazyBasicPropertyAccessTest
For some reason they were reversed.
2022-10-31 11:45:31 +01:00
Christian Beikov 9bd269aa5d Fix test for HANA 2022-10-31 11:18:11 +01:00
Gavin King ecdd7e20cb remove more usages of some deprecated methods 2022-10-29 23:32:05 +02: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
Gavin King ce860e31ff put some annotations back in a very important test 2022-10-29 15:10:10 +02:00
Gavin King f676a1e2af deprecate some operations of AnnotatedJoinColumn
+ some light refactoring
2022-10-29 15:10:10 +02:00
Gavin King 257bfdb391 slightly improve some Javadoc on metamodel-related stuff 2022-10-29 11:11:23 +02:00
Gavin King f253d8f216 remove useless @JoinColumns annotation for mosts tests and examples 2022-10-29 02:09:00 +02:00
Gavin King 66776f6b78 simplify a method 2022-10-29 02:09:00 +02:00
Gavin King 749e5e6b38 HHH-15627 fix uninformative error message 2022-10-29 02:09:00 +02:00
Gavin King ed65962fb3 more binding work related to OneToOne and ManyToOne to ToOneBinder where it belongs
and stuff in common goes to BinderHelper
2022-10-29 02:09:00 +02:00
Gavin King 8b3030aa8b avoid passing property-level information via the first AnnotatedJoinColumn 2022-10-29 02:09:00 +02:00
Gavin King d9392d6601 fix ugly toString()s 2022-10-29 02:09:00 +02:00
Gavin King 070f7e5d3a clean up collection SecondPass stuff 2022-10-29 02:09:00 +02:00
Gavin King 79642022a6 fix warnings in a test 2022-10-29 02:09:00 +02:00
Gavin King ab8f79e258 HHH-14014 test demonstrating the issue is solved 2022-10-29 02:09:00 +02:00
Gavin King 86906013c2 further cleanups to the Binder code 2022-10-29 02:09:00 +02:00
Gavin King f4687ac048 prefer importing JPA annotations 2022-10-29 02:09:00 +02:00
Gavin King 9cd834758a minor javadoc improvements 2022-10-29 02:09:00 +02:00
Christian Beikov 2f4712909a HHH-15636 Indexed Fetchable access via IndexedConsumer and by position and get rid of some capturing lambdas 2022-10-28 13:21:49 +02:00
Sanne Grinovero 53076f3029 HHH-15616 Mitigate performance impact of entity enhancement on Klass's _secondary_super_cache 2022-10-28 12:06:17 +02:00
Gavin King 16c39c0925 more sensible toString() 2022-10-28 03:19:05 +02:00
Gavin King 5ea136781c remove some uses of java.util.Properties 2022-10-28 03:19:05 +02:00
Gavin King 239fc9a835 clean up foreign key binding code 2022-10-28 03:19:05 +02:00
Gavin King 264d3c711c more consistent formatting for error messages 2022-10-28 03:19:05 +02:00
Gavin King 412319819e add some wildcards 2022-10-28 03:19:05 +02:00
Gavin King 25cb085f48 HHH-15622, HHH-13054, HHH-14940, HHH-15355 organize the tests 2022-10-27 23:06:20 +02:00
Gavin King b6792bdb19 HHH-13054 handle referencedColumnName to entities with multiple @Id properties 2022-10-27 23:06:20 +02:00
Gavin King 1f4c8f7b19 HHH-14940 loosen a check 2022-10-27 23:06:20 +02:00
Gavin King 335e480735 HHH-15355 virtual synthetic properties for multi-column inverse one-to-ones 2022-10-27 23:06:20 +02:00
Andrea Boriero fc0b19aceb HHH-15585 Add support for DB2 aliases for schema validation 2022-10-27 20:38:22 +02:00
Andrea Boriero b1f92863cb HHH-15585 Add test for issue 2022-10-27 20:38:22 +02:00
Andrea Boriero 42890e3a8d HHH-15607 @NamedEntityGraph is not working when try to load Basic attribute with OneToMany relation 2022-10-27 20:35:49 +02:00
Andrea Boriero a7b87fe4eb HHH-15607 Add test for issue 2022-10-27 20:35:49 +02:00
Andrea Boriero dd1bd43846 HHH-15622 Query bug in @NamedEntityGraph when doing Eager loading of @OneToOne mappings in Single Table inheritance 2022-10-27 16:49:04 +01:00
Andrea Boriero a4f2c936dc HHH-15622 Add test for issue 2022-10-27 16:49:04 +01:00
Gavin King 3fd84f14ec HHH-12930 fix limitations mapping associations to non-primary unique keys
This now handles cases where the unique key includes @Embeddable properties
of the target entity. It also produces *much* better error messages when
something is wrong.
2022-10-27 17:47:21 +02:00
Scott Marlow 7b9c14d8a1 add DEBUG flag save of loaded entity as proxy
Signed-off-by: Scott Marlow <smarlow@redhat.com>
2022-10-27 17:07:36 +02:00
Christian Beikov b3b62ad685 HHH-15635 Avoid type pollution in EnhancedSetterImpl 2022-10-27 13:35:02 +02:00
Christian Beikov ec72bab0a9 HHH-15633 Intern entity name to improve EntityKey#equals 2022-10-27 13:35:02 +02:00
Christian Beikov 0561839140 HHH-15632 Avoid unnecessary PersistenceContext#getEntity call in AbstractEntityInitializer 2022-10-27 13:35:02 +02:00
Gavin King e59a736679 improve Javadoc of @ColumnTransformer 2022-10-25 11:17:17 +02:00
Christian Beikov 771f338961 HHH-15619, HHH-15620 Expose HBM query configs through respective hints and don't mark transformed HBM model as metadata complete 2022-10-21 14:38:44 +02:00
Christian Beikov ee7c2ee041 HHH-15615 Add EDB PostgreSQL Advanced to test matrix and fix issues 2022-10-21 12:35:46 +02:00
Christian Beikov 940f15b63e HHH-15528 Add Cockroach to Jenkins nightly test matrix and fix issues 2022-10-21 09:51:16 +02:00
Gavin King f7acf4d93c very minor cleanups in AbstractEntityPersister 2022-10-20 00:01:42 +02:00
Christian Beikov 049d151248 HHH-15605 Fix parameter binding of converted TemporalJavaType 2022-10-19 19:05:57 +02:00
Christian Beikov 149da829cd HHH-15610 Remove internal CacheKeyValueDescriptor uses from Type and JavaType 2022-10-19 18:08:21 +02:00
Sanne Grinovero 08d1d9704b HHH-15566 Improve efficiency of CallbackRegistryImpl 2022-10-19 15:57:34 +01:00
Gavin King 24f75fb8e8 HHH-15613 remove lateral roots from criteria API 2022-10-19 16:47:12 +02:00
Gavin King 3357d1e5a0 squash some warnings in SemanticQueryBuilder 2022-10-19 16:47:12 +02:00
Gavin King a42c52615e HHH-15613 remove 'lateral' from fromRoot rule
it means the same thing as 'join lateral', and is currently ignored by HQL
2022-10-19 16:47:12 +02:00
Jan Schatteman 0baefce734 HHH-15561 - Fixed and added test for issue
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-10-14 23:26:16 +02:00
Christian Beikov f13230803d HHH-15590 Test that JdbcLiteralFormatter works for all supported java types 2022-10-13 15:21:51 +02:00
Sanne Grinovero b56d25c2b2 HHH-15598 Remove unused functionality from ByteCodeHelper 2022-10-12 15:37:24 +01:00
Sanne Grinovero 6fbb9633aa HHH-15598 Remove InstrumentedClassLoader, demote ByteCodeHelper to test helper 2022-10-12 15:37:24 +01:00