Commit Graph

9774 Commits

Author SHA1 Message Date
Marco Belladelli 69a5b1faab HHH-15822 Make sure MappedSuperclass can act as type for entity valued paths 2023-01-27 14:59:39 +01:00
Marco Belladelli ebb8e26417 HHH-15822 Add test for issue 2023-01-27 14:59:24 +01:00
Steve Ebersole 1d62d2d66e HHH-16101 - MERGE for optional table updates on Oracle 2023-01-26 12:49:59 -06:00
Steve Ebersole ee8d80a8bd HHH-16069 - Skip CDI for Hibernate extensions by default 2023-01-26 12:19:31 -06:00
Andrea Boriero 6ebafc1cae HHH-16108 NullPointerException when flushing a (simple) entity update for models with bytecode enhancement and multiple one-to-one associations (some lazy) 2023-01-26 18:09:14 +01:00
Yoann Rodière 6bc1b24443 HHH-16108 Test a (simple) entity update for models with bytecode enhancement and multiple one-to-one associations (some lazy)
Stack trace:

java.lang.NullPointerException: Cannot invoke "org.hibernate.metamodel.mapping.SelectableMapping.isFormula()" because "selectable" is null

	at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.processSet(UpdateCoordinatorStandard.java:665)
	at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.processAttribute(UpdateCoordinatorStandard.java:640)
	at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.analyzeUpdateValues(UpdateCoordinatorStandard.java:600)
	at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.performUpdate(UpdateCoordinatorStandard.java:256)
	at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.coordinateUpdate(UpdateCoordinatorStandard.java:203)
	at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2766)
	at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:165)
	at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:616)
	at org.hibernate.engine.spi.ActionQueue.lambda$executeActions$1(ActionQueue.java:487)
	at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:721)
	at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:484)
	at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:358)
	at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39)
	at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127)
	at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1412)
	at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:485)
	at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:2277)
	at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:1942)
	at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:426)
	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:169)
	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:267)
	at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:101)
	at org.hibernate.testing.transaction.TransactionUtil2.inTransaction(TransactionUtil2.java:128)
	at org.hibernate.testing.transaction.TransactionUtil2.lambda$inTransaction$0(TransactionUtil2.java:76)
	at org.hibernate.testing.transaction.TransactionUtil2.inSession(TransactionUtil2.java:35)
	at org.hibernate.testing.transaction.TransactionUtil2.inTransaction(TransactionUtil2.java:74)
	at org.hibernate.testing.junit4.BaseNonConfigCoreFunctionalTestCase.inTransaction(BaseNonConfigCoreFunctionalTestCase.java:590)
	at org.hibernate.orm.test.bytecode.enhancement.lazy.proxy.LazyOneToOneMultiLevelTest.testPersist(LazyOneToOneMultiLevelTest.java:56)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
2023-01-26 18:09:14 +01:00
Andrea Boriero 6c385f7890 HHH-16106 Using BatchEntitySelectFetchInitializer causes PostLoad to be called before references are initialized 2023-01-26 16:14:46 +01:00
Andrea Boriero 10458da711 HHH-16106 Add test for issue 2023-01-26 16:14:46 +01:00
Vedran Prišćan d18cdbec35 HHH-16096 Passing an ExtendedBeanManager which is notified too late leads to initialization error 2023-01-26 09:03:28 -06:00
Marco Belladelli 94b20bafc8 HHH-16070 Check for type parameters when setting declared identifier 2023-01-26 13:52:34 +01:00
Marco Belladelli 3bfb2f66a1 HHH-16070 Add test for issue 2023-01-26 13:52:34 +01:00
Marco Belladelli 7cd6d0422f HHH-16023 Check fetchable declaring type when not found in persister 2023-01-26 13:06:50 +01:00
Marco Belladelli 64b3855c73 HHH-16023 Add test for issue 2023-01-26 13:06:50 +01:00
Sanne Grinovero ae37509b11 HHH-16099 Introduce three-state handling for dirty levels to avoid excessive warnings
We now differentiate between an Attribute which has been marked as "real dirty" from
one which needs to be "treated like dirty", so to not bother end users with a WARN
log when a non-updateable property had not been updated explicitly by them.
2023-01-26 08:35:26 +00:00
Steve Ebersole e27dc5bc47 HHH-16103 - MERGE for optional table updates on SQL Server 2023-01-26 00:41:58 -06:00
Steve Ebersole 5525b8d9b7 HHH-16103 - MERGE for optional table updates on SQL Server 2023-01-26 00:41:58 -06:00
Steve Ebersole a742f5e988 HHH-16069 - Skip CDI for Hibernate extensions by default 2023-01-26 00:29:24 -06:00
Sanne Grinovero 9e033c8aea HHH-16099 Minor refactoring, extract local constants in UpdateCoordinatorStandard 2023-01-25 21:52:21 +00:00
Gavin e00bdc7cb2 fix typo in jdoc 2023-01-25 22:04:03 +01:00
Sanne Grinovero 0b5cb6c649 HHH-16090 BasicResultAssembler logging optimisations 2023-01-25 17:57:26 +00:00
Christian Beikov 033eeb7241 Make session part of JdbcValueBindings 2023-01-25 18:15:11 +01:00
Christian Beikov e841b0aaae Get rid of some capturing lambdas 2023-01-25 18:15:11 +01:00
Steve Ebersole 420e561f21 HHH-16099 - Log about immutable properties only if dirty on update 2023-01-25 11:00:12 -06:00
Marco Belladelli eca3ff13bd HHH-16062 Apply settings and hints to criteria queries 2023-01-25 17:52:33 +01:00
Marco Belladelli 136169d43a HHH-16062 Add test for issue 2023-01-25 17:52:33 +01:00
Yoann Rodière 528d897c4d HHH-16085 Test mapping arrays with @JdbcTypeCode(Type.VARBINARY)
This is useful to revert to pre-6.1 behavior for array mapping in particular.
2023-01-25 17:47:30 +01:00
Christian Beikov e464f53df8 Fix compile error 2023-01-25 17:43:52 +01:00
Andrea Boriero 49779ed4dc HHH-16005 Add test for issue 2023-01-25 17:13:40 +01:00
Andrea Boriero f15d6ee5fb HHH-16025 Using BatchEntitySelectFetchInitializer with caching leads to caching wrong values 2023-01-25 17:05:35 +01:00
Andrea Boriero ac0a27eca2 HHH-16025 Add test for issue 2023-01-25 17:05:35 +01:00
Andrea Boriero b033b88472 HHH-15921 @BatchSize and @IdClass on join column throws exception 2023-01-25 17:05:35 +01:00
Andrea Boriero dbaca049c8 HHH-16039 Add test for issue 2023-01-25 17:05:35 +01:00
Andrea Boriero 8d0729f543 HHH-15921 Add test for issue 2023-01-25 17:05:35 +01:00
Marco Belladelli f9b169242a HHH-16043 Correct single ID and init empty for batch collection loading 2023-01-25 17:01:31 +01:00
Marco Belladelli 17506b7f80 HHH-16043 Add test for issue 2023-01-25 17:01:31 +01:00
Sanne Grinovero 2d7774b9ab HHH-16091 Optimize also AbstractStandardBasicType#compare and #fromString 2023-01-25 14:21:29 +00:00
Sanne Grinovero 12c7252c59 HHH-16091 Make AbstractStandardBasicType#getMutabilityPlan return a constant too 2023-01-25 14:21:29 +00:00
Sanne Grinovero b77bbf0650 HHH-16091 Make AbstractStandardBasicType#getReturnedClass return a constant 2023-01-25 14:21:29 +00:00
Sanne Grinovero 12abcc4c60 HHH-16091 AbstractStandardBasicType to avoid megamorphic dispatch when dealing with AbstractClassJavaType 2023-01-25 14:21:29 +00:00
Sanne Grinovero 1652102c1a HHH-16092 Trim allocation size of CacheKeyImplementation, avoid Objects::deepEquals 2023-01-25 12:00:38 +00:00
Gavin 4ca5902672 mention the query result set cache in the javadoc 2023-01-25 09:52:37 +01:00
Christian Beikov a0d162cde8 Fix test failure by respecting custom insert/delete SQL for secondary tables 2023-01-25 09:32:16 +01:00
Gavin 0bb04b1021 HHH-16089 allow @Synchronize for a collection 2023-01-25 00:19:42 +01:00
Steve Ebersole 2a24876f69 HHH-16084 - MERGE (upsert) for optional table updates - H2 2023-01-24 10:00:54 -06:00
Steve Ebersole 21b7745768 HHH-16084 - MERGE (upsert) for optional table updates - H2 2023-01-24 10:00:54 -06:00
Marco Belladelli 998f2ef21f HHH-15933 Better property owner check + new test case for JoinedSubclass 2023-01-24 14:16:08 +01:00
Marco Belladelli 49690bf4ce HHH-15933 Table reference by name and change referenced property owner 2023-01-24 14:16:08 +01:00
Andrea Boriero a4e2fe57cc HHH-16033 Many-to-Many inverse mapping referencing the same class uses pk instead of fk field for removal 2023-01-24 10:49:31 +01:00
William Burns ea8b0649a2 HHH-16033 Many-to-Many inverse mapping referencing the same class uses pk instead of fk field for removal
* Just reproducer for issue
2023-01-24 10:49:31 +01:00
Andrea Boriero 1638c074d5 HHH-16031 @ManyToMany with @JoinTable(inverseColumn = ...) and SortedSet may results in data loss 2023-01-24 10:49:31 +01:00
Andrea Boriero f4aec1cd0a HHH-16031 @ManyToMany with @JoinTable(inverseColumn = ...) and SortedSet may results in data loss 2023-01-24 10:49:31 +01:00
Yoann Rodière 241fe54d0a HHH-16031 Test @ManyToMany + @JoinTable(inverseColumn) on a SortedSet 2023-01-24 10:49:31 +01:00
Andrea Boriero 0983b47252 HHH-16049 Setting a property to its current value with bytecode enhancement enabled results in unnecessary SQL Update in some (many) cases 2023-01-24 10:40:52 +01:00
Andrea Boriero 3d9a1bce9b HHH-16049 Test setting a property to its current value with bytecode enhancement enabled 2023-01-24 10:40:52 +01:00
Yoann Rodière 5bd1f7c05b HHH-16049 Test setting a property to its current value with bytecode enhancement enabled 2023-01-24 10:40:52 +01:00
Yoann Rodière acbfa0a060 HHH-16049 Restructure lazy-basic tests for easier re-execution and better test reports 2023-01-24 10:40:52 +01:00
Marco Belladelli 12c69c8528 Fix wrong version check in from dual for select only for MySQL 2023-01-24 09:05:04 +01:00
Steve Ebersole 6e442aaed5 HHH-16077 - Added named native queries cannot specify result-class 2023-01-23 21:32:31 -06:00
Steve Ebersole e7b2f9b121 HHH-16077 - Added named native queries cannot specify result-class 2023-01-23 20:26:49 -06:00
Gavin 4a37bf8017 fix another typo 2023-01-23 16:54:34 +01:00
Gavin ea6d76b9b4 fix typos 2023-01-23 16:49:23 +01:00
Gavin 6e590a0149 clean up impl of query hint interpretation
use 'switch' statements
2023-01-23 16:34:10 +01:00
Marco Belladelli 8755129648 HHH-16050 StandardStack optimization using custom array implementation 2023-01-23 11:51:57 +00:00
Andrea Boriero 01db71c272 HHH-16061 SqmDynamicInstantiation warns about dynamic Map instantiation when using an entity 2023-01-23 09:16:55 +01:00
Andrea Boriero e6b94398de HHH-16061 Add test for issue 2023-01-23 09:16:55 +01:00
Gavin e0e3921503 more query space javadoc improvements 2023-01-22 21:25:13 +01:00
Gavin 662594fd5f HHH-16079 rewrite javadoc relating to query spaces + add @Synchronize(logical=false) 2023-01-22 14:50:50 +01:00
Gavin 75f3f699b5 very minor cleanups 2023-01-22 14:50:50 +01:00
Steve Ebersole 35f0c57f07 HHH-15949 - Make MetadataBuilderContributor discoverable 2023-01-20 17:45:11 -06:00
Steve Ebersole b5022f94d3 HHH-15949 - Deprecate MetadataContributor 2023-01-20 16:42:14 -06:00
Steve Ebersole bab25b42e4 HHH-16077 - Added named native queries cannot specify result-class 2023-01-20 15:47:54 -06:00
Sanne Grinovero 94054f6a57 HHH-16072 Restore SPI removal SharedSessionContractImplementor.getTransactionStartTimestamp() 2023-01-20 21:37:55 +00:00
Sanne Grinovero 800873c43d HHH-16058 Removing Environment#getBytecodeProvider 2023-01-20 14:31:08 +00:00
Andrea Boriero 1e21d1c6d1 HHH-16006 Fix checkstyle error 2023-01-20 14:53:41 +01:00
Gavin 1b09d20da0 deprecate config property org.hibernate.flushMode on AvailableSettings
it's actually a JPA hint, and rightfully belongs on HibernateHints
2023-01-20 11:29:59 +01:00
Gavin a986a3806a add convenience method to retrieve Dialect from FunctionContributions
because in fairness this is a little hard to find
2023-01-19 23:57:40 +01:00
Steve Ebersole a552a73632 HHH-16006 - Implement an "additional mapping" contributor SPI 2023-01-19 16:30:46 -06:00
Davide D'Alto e03b3f051a
HHH-16059 Add getters to CteInsertHandler
And the relax scope of a private method.

This way Hibernate Reactive can access them.
2023-01-19 12:28:40 +01:00
Davide D'Alto e2baceb382
HHH-16059 Add getters and relax scopes
extending CteInsertStrategy and CteMutationStrategy
2023-01-19 11:00:38 +01:00
Jan Schatteman f53a29ab12 HHH-16020 - Fix for incorrect offset parameter index and add test for
issue

Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-01-18 19:59:07 +01:00
Sanne Grinovero 67dc1ed835 HHH-16052 EntityKey and CollectionKey equality optimisation 2023-01-17 16:47:22 +00:00
Gavin cf65a2d275 improve javadoc for hibernate.hbm2ddl.import_files_sql_extractor 2023-01-17 00:43:52 +01:00
Sanne Grinovero 84a652bfe7 HHH-16051 Avoid stateful lambdas on invocations of Stack#findCurrentFirst 2023-01-16 21:39:15 +00:00
Sanne Grinovero c570b11dcd HHH-16047 Allow reusing of FlushEntityEvent instances 2023-01-16 15:11:15 +00:00
Sanne Grinovero 9f88b56099 HHH-16046 Improve memory safety of mutations in EventListenerGroupImpl
Also avoid for method listeners() to allocate a new List at each use;
 this method was deprecated but it appears it’s still being used in
 various event processors, which is being flagged as a performance issue.
2023-01-15 11:31:27 +00:00
Sanne Grinovero 48df4e15aa HHH-16046 EventListener iterations should avoid using EventListenerGroup#listeners when possible 2023-01-15 11:31:27 +00:00
Gavin a1d43adad4 Oracle does support offsets/zones in datetime literals
+ some minor cleanups
2023-01-14 15:14:04 +01:00
Gavin 6a238adc6c tolerate 'local' keyword in date and time literals
no reason to choke on this, doesn't seem to be ambiguous
2023-01-14 15:14:04 +01:00
Gavin 4a87bc4bb8 use custom-rendered datetime literals on MySQL instead of JDBC escapes 2023-01-14 15:14:04 +01:00
Gavin 2aece6fb95 HHH-16035 use custom-rendered datetime literals on DB2 instad of JDBC escapes
The JDBC escapes didn't play so well with duration arithmetic.
2023-01-14 15:14:04 +01:00
Gavin 8f29ae95c9 more javadoc for Dialect.getFractionalSecondPrecisionInNanos() 2023-01-14 15:14:04 +01:00
Gavin 56774f80d7 fix handling of typestamp arithmetic on Sybase
this was a total inconsistent mess that made no sense
2023-01-14 15:14:04 +01:00
Gavin c852d1ca0d more HQL duration tests 2023-01-14 15:14:04 +01:00
Gavin a9414fa6be disable test for no-longer-allowed literal syntax
I had to disallow this because it was too ambiguous
2023-01-13 16:34:46 +01:00
Gavin ae978b3d10 fix an ambiguity in the grammar of datetime literals
this was my very stupid mistake
2023-01-13 16:34:46 +01:00
Gavin 43cce5fe5e HHH-16035 fix bug with Durations magnitude being off by 10^9 2023-01-13 16:34:46 +01:00
Gavin 2f5f5b9a50 HHH-16035 add a test for cast(duration as Long) + tests for duration arithmetic/literals
(pulls in duration arithmetic tests from other branch)
2023-01-13 16:34:46 +01:00
Gavin 6f7b17d36b HHH-16035 change the default for hibernate.type.preferred_duration_jdbc_type to NUMERIC
There's really no value at all in having h2 as the only platform where Duration
is persisted as 'interval second' by default. People usually use h2 for testing,
and probably actually prefer if the schema is more similar to the schema of
their "real" database.

Also, this tiny change fixes issues 1. and 2. of HHH-16035 as a side-effect.
2023-01-13 16:34:46 +01:00
Matías Santurio 669be6a776 HHH-16038 Fix PersistenceContext.setDefaultReadonly javadoc mistake 2023-01-13 15:02:39 +01:00
Christian Beikov 80b638aeca Introduce getSingleJdbcMapping() and getJdbcMapping(int) to improve JdbcMappingContainer accesses 2023-01-13 09:04:15 +01:00
Sanne Grinovero d64873bde6 HHH-15305 Some dead code elimination and analysis cleanup 2023-01-12 22:24:39 +00:00
Sanne Grinovero 3d4cb14627 HHH-15305 Switch size management in BoundedConcurrentHashMap to use an AtomicInteger 2023-01-12 22:00:36 +00:00
franz1981 7e5c3c8dde HHH-15305 Update custom LIRS implementation based on BoundedConcurrentHashMap 2023-01-12 21:49:08 +00:00
Andrea Boriero 2143ced49e HHH-15604 Identically-named association in entity root and elementcollection of embeddables leads to assertion error 2023-01-12 18:19:38 +01:00
Andrea Boriero b774f80ce9 HHH-15966 ElementCollection with nested Embeddables fails with ArrayIndexOutOfBoundsException 2023-01-12 18:19:38 +01:00
Andrea Boriero 00018731f8 HHH-15604 Identically-named association in entity root and elementcollection of embeddables leads to assertion error 2023-01-12 18:19:38 +01:00
Yoann Rodière cfc7b7ba66 HHH-15604 Test identically-named association in entity root and elementcollection of embeddables 2023-01-12 18:19:38 +01:00
Marco Belladelli b5d58e69ae HHH-15928 Check distinct and sub-queries for SQLServer fetch / offset 2023-01-12 17:22:58 +01:00
Marco Belladelli 21d7d2bb10 HHH-15928 Add test for issue 2023-01-12 17:22:58 +01:00
Marco Belladelli 73da49626d Fix select without from in old versions of MySQL and MariaDB 2023-01-12 17:21:05 +01:00
Andrea Boriero 7b308d048f HHH-15902 @OneToMany relationship with @Where on child table generates wrong sql 2023-01-12 15:23:09 +01:00
Andrea Boriero 3765837b9e HHH-15902 Add test for issue 2023-01-12 15:23:09 +01:00
Sanne Grinovero b037047e24 HHH-16030 Improve name for method EntityInitializer#isInitialized and avoid providing a default implementation 2023-01-12 14:22:05 +00:00
Sanne Grinovero 146f7fc234 HHH-16029 Remove misleading method EntityInitializer#isEntityResultInitializer 2023-01-12 14:22:05 +00:00
Sanne Grinovero b725dc4f20 Prefer using asEntityInitializer() over direct cast 2023-01-12 14:22:05 +00:00
Marco Belladelli 8fa39d773b HHH-16014 Cache treated paths + root logic in copy context for paths 2023-01-12 13:27:58 +01:00
Marco Belladelli b0d03e39e2 HHH-16004 Add test for issue 2023-01-12 13:27:58 +01:00
Andrea Boriero 303da7fca8 HHH-15986 Eager Bidirectional association, initializing an HibernateProxy should associate to the circular association the HibernateProxy itself 2023-01-12 10:34:22 +01:00
Andrea Boriero e0ff430936 HHH-15986 Add test for issue 2023-01-12 10:34:22 +01:00
Gavin a3b2e9b4ae HHH-16028 allow FunctionContributor to be registered programmatically
since we can do this with its friend TypeContributor
2023-01-12 00:36:14 +01:00
Gavin 2e84d51838 HHH-16027 add TypeContributions.contributeAttributeConverter() 2023-01-12 00:36:14 +01:00
Gavin 7444b26db4 HHH-15948 move org.hibernate.metamodel.model.convert to org.hibernate.type.descriptor.converter 2023-01-11 17:56:54 +01:00
Gavin 32c8977406 deprecate layer-breaking method SessionFactory.getSessionFactoryOptions() 2023-01-11 12:50:43 +01:00
Gavin e23318aa95 remove type parameter from StatelessSessionBuilder
this was already done for SessionBuilder, but apparently StatelessSessionBuilder got forgotten
2023-01-11 12:50:43 +01:00
Gavin 1606953a32 make SelfRenderingFunctionSqlAstExpression not blow up with NPE
this doesn't exactly *fix* cases with a nonsensible argument list,
but it at least gives us a chance to produce a more meaningful error
2023-01-11 12:46:18 +01:00
Gavin 296cbb88bd fix queries like 'select ... where ...' with no 'from' clause
this was another bug that resulted from the unnecessary use of
the untypesafe getChild() method in SemanticQueryBuilder. It's
really important that we migrate away from that, who knows how
many other bugs are lurking?
2023-01-11 12:46:18 +01:00
Christian Beikov c402431b9f Fix null constraint violation issue introduced in previous commit 2023-01-11 12:07:33 +01:00
Christian Beikov 82fbbd6c0e Remove unnecessary usage of identity generation to avoid Oracle 11 issues 2023-01-10 18:46:56 +01:00
Steve Ebersole 2a302a59ff Move IndexedConsumer and IndexedBiConsumer to more top-level package 2023-01-10 08:40:28 -06:00
Gavin 5d86d88c03 HHH-16010 fix two bugs in natural id handling found just by inspection of code
- fix place where id and entity had always been passed in reversed order
- fix place where whole state array was passes instead of natural id array
- change the API of NaturalIdResolutions because it never needs the session,
  and the fix involved calling it from a place we did not have one
- and also clean up a bunch of warnings
- improve some visually-ugly code in AbstractEntityEntry
2023-01-10 15:11:32 +01:00
Andrea Boriero 6d15c1d115 HHH-15647 Add test for issue 2023-01-10 10:54:42 +01:00
Steve Ebersole d1a890a9cc HHH-16006 - Implement an "additional mapping" contributor SPI 2023-01-09 18:14:27 -06:00
Steve Ebersole a9ef9045f2 HHH-16006 - Implement an "additional mapping" contributor SPI 2023-01-09 15:41:56 -06:00
Marco Belladelli ab86055565 HHH-15890 Fix shouldEmulateFetchClause method for DB2(i)SqlAstTranslator 2023-01-09 19:01:44 +01:00
Gavin dcc05b8c6c HHH-16008 promote joinTransaction() and isJoinedToTransaction() to SharedSessionContract
so they are available on a StatelessSession
2023-01-09 17:42:42 +01:00
Marco Belladelli 436527b4ba HHH-15982 Check property type when setting bidirectionalAttributeName 2023-01-09 17:33:46 +01:00
Marco Belladelli e26f4d25ab HHH-15982 Refactor tests to use StatementInspector 2023-01-09 17:33:46 +01:00
Gavin bf60dd9d2a add some cross-links to Configuration to javadoc 2023-01-09 13:42:49 +01:00
Gavin a48422ee9b try to make StatementInspector a little more prominent in the javadoc 2023-01-09 13:06:27 +01:00
Andrea Boriero 8b86e082ef HHH-15851 Mixup of entities in refresh with BatchSize 2023-01-09 11:23:02 +01:00
Andrea Boriero 72985d7c4d HHH-15851 Add test for issue 2023-01-09 11:23:02 +01:00
Marco Belladelli 87ba85232f HHH-15982 Fix bidirectional one-to-one detection for mappedBy side 2023-01-09 10:42:25 +01:00
Marco Belladelli 5f08ffed83 HHH-15982 Add parentAccess logic to unique key initializer 2023-01-09 10:42:25 +01:00
Marco Belladelli 39f2482ebf HHH-15950 Add test for issue 2023-01-09 10:42:25 +01:00
Andrea Boriero 6f7b9362d2 HHH-15839 CriteriaBuilder treat method on Path causes ClassCastException 2023-01-09 10:39:42 +01:00
Andrea Boriero f7ae48ad08 HHH-15839 Add test for issue 2023-01-09 10:39:42 +01:00
Gavin 82c94ec142 add BinaryLengthTest
to make sure it's possible to have programs with byte[] fields work across Postgres and others
2023-01-08 15:55:40 +01:00
Gavin 1f0a7e1760 clean some unused imports 2023-01-07 21:43:11 +01:00
Gavin 0007820aba HHH-16000 improve javadoc for @HQLSelect and @SQLSelect 2023-01-07 20:06:48 +01:00
Gavin f8f6e4d541 HHH-16000 Add @HQLSelect annotation as abbreviation for @NamedQuery + @Loader
and deprecate @Loader
2023-01-07 15:02:42 +01:00
Gavin 3ceb91d280 HHH-16000 Add @SQLSelect annotation as abbreviation for @NamedNativeQuery + @Loader 2023-01-07 15:02:42 +01:00
Gavin bfdd7f648b HHH-10557 fix @Loader applied to a collection
the issue here is we have no @CollectionResult for annotation-based result set mappings
2023-01-07 15:02:42 +01:00
Gavin 0db49aa2d5 fix character encoding problem 2023-01-07 15:02:42 +01:00
Marco Belladelli 54402da721 HHH-15985 Custom trunc and round function for PostgreSQL and Cockroach 2023-01-06 15:48:09 +01:00
Gavin ff635b7e99 add a historical note to the jdoc of org.hibernate.usertype 2023-01-06 13:32:37 +01:00
Gavin 5fb04fb6f6 give UserType.replace() a sensible default impl that's essentially always correct 2023-01-06 12:47:48 +01:00
Gavin fe9f909dce add an extended example to UserType jdoc 2023-01-06 12:47:48 +01:00
Gavin a4ad36e7f8 fix escaping in code block 2023-01-06 11:07:35 +01:00
Gavin 8aa1647aa2 add MonetaryAmount example to javadoc 2023-01-06 01:44:35 +01:00
Gavin 1f755e0598 work on the jdoc about type annotations 2023-01-06 01:28:50 +01:00
Gavin ccff90b211 example config files in javadoc, and squash some warnings from jdoc tool 2023-01-05 22:59:01 +01:00
Gavin 5c6127848f link to config properties from overview 2023-01-05 21:30:47 +01:00
Gavin b72d332b34 add temporary table-related settings to AvailableSettings 2023-01-05 21:17:07 +01:00
Gavin ab48dc9ba1 remove an email address I missed 2023-01-05 20:21:01 +01:00
Gavin 663c6c2c71 minor jdoc refresh and deprecations to org.hibernate.id 2023-01-05 20:21:01 +01:00
Jan Schatteman d4cc873ad0 Add useCollectingStatementInspector() to @Jpa and refactor tests that can use it to do so
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-01-05 15:40:24 +01:00
Sanne Grinovero 1e87b3399f HHH-15976 Further optimise InitializersList to avoid resizing collections 2023-01-05 13:47:53 +01:00
Sanne Grinovero 04becd0aa4 HHH-15976 Introduce InitializersList helper and optimise Row processing 2023-01-05 13:47:53 +01:00
Sanne Grinovero e1ecf734c2 Trivial cleanup of dead code 2023-01-05 13:47:53 +01:00
Sanne Grinovero cfeddf8531 Deprecate dead method RowReader#toMemento 2023-01-05 13:47:53 +01:00
Gavin 80feec0c53 use @value instead of @link + delete an obsolete logger 2023-01-05 12:15:27 +01:00
Christian Beikov f0cc803b50 Javadoc for TemporaryTableKind 2023-01-05 11:57:02 +01:00
Gavin 1fd45b607c thorough jdoc review and trivial changes to Dialect 2023-01-05 11:19:16 +01:00
Gavin 6f4fe47c54 update log message about hibernate.create_empty_composites.enabled 2023-01-05 11:19:16 +01:00
Steve Ebersole d7201815d5 HHH-15977 - Deprecate @Persister 2023-01-04 13:36:04 -06:00
Gavin 43316e9101 fix a minor bug in RowIdJdbcType 2023-01-04 20:11:37 +01:00
Gavin b233904c6e add two @Override annotations 2023-01-04 20:11:37 +01:00
Christian Beikov b515ec45a0 Mark @Struct annotation to be incubating 2023-01-04 19:56:15 +01:00
Gavin King 1117436090 Update hibernate-core/src/main/java/org/hibernate/boot/model/FunctionContributor.java
Co-authored-by: Steve Ebersole <steve@hibernate.org>
2023-01-04 19:38:24 +01:00
Gavin ecf4d30c50 make Dialect implement TypeContributor and FunctionContributor
there is little *concrete* benefit to this change, and it's slightly break-y but:

- it removes a dependence on the @Incubating type QueryEngine from Dialect
- we eat our own dogfood, that is, use our own abstractions
- it appears that this was how it was *originally* intended to be
2023-01-04 19:38:24 +01:00
Christian Beikov 9080a387fa Fix HANA test failures on CI 2023-01-04 19:23:34 +01:00
Gavin 80a27ebcbe add a note about integrations to the overview 2023-01-04 17:21:32 +01:00
Gavin 08de2ff104 after all that, we've decided that a better solution is to coerce the enum to the right type
so I'm going to accept both interpretations of the enum, which is better for the user,
and this is also much cleaner implementation-wise

This effectively rolls back most of the previous work on HHH-15711
2023-01-04 17:05:32 +01:00
Gavin 1074891a36 migrate to accessing QueryParameterBindingTypeResolver via MappingMetamodelImplementor
it's just not elegant to have it as a supertype of SessionFactoryImplementor (so deprecate that)
2023-01-04 17:05:32 +01:00
Gavin 196d7a1b5a resolve an issue with ArgumentsValidator and access to the MappingMetamodel
(ideally we should never access the MappingMetamodel from ArgumentsValidator)
2023-01-04 17:05:32 +01:00
Marco Belladelli 9369fbd597 Fix date_trunc function for DB2 10 2023-01-04 16:41:14 +01:00
Christian Beikov 2c724d9172 Fix entity naming for Oracle 11 2023-01-04 16:05:30 +01:00
Christian Beikov 39d876e4d3 Fix array value binding for native queries on DBs that have a TINYINT DDL type 2023-01-04 14:31:25 +01:00
Christian Beikov 85a96de131 Fix identity select statement caching 2023-01-04 14:31:25 +01:00
Gavin e3f1c2741d HHH-15960 make @Comment annotation repeatable and properly test it
I didn't quite nail this one first time round :-/
2023-01-04 13:40:44 +01:00
Andrea Boriero 98957c3509 HHH-15854 Improve CollectionInitializer and EntityDelayedFetchInitializer resolveInstance methods performance when the parent entity is initialized 2023-01-04 12:09:34 +01:00
Andrea Boriero 312d7e11a6 HHH-15794 NullPointerException when constructing mapping model for nested embeddables with not optional ManyToOne 2023-01-04 11:55:56 +01:00
Andrea Boriero 17e48d2ace HHH-15794 Add test for issue 2023-01-04 11:55:56 +01:00
Andrea Boriero a3038f94fa HHH-15967 @OneToOne(mappedBy = ..., fetch = LAZY) in embedded referencing an association within another embedded 2023-01-04 11:11:39 +01:00
Andrea Boriero ecde949c7f HHH-15967 Add test for issue 2023-01-04 11:11:39 +01:00
Marco Belladelli 475e4944df HHH-15866 Handle nested embeddables inside EmbeddedId 2023-01-04 10:52:42 +01:00
Marco Belladelli 60fc0c018a HHH-15866 Handle DependantValue when building embedded attr mapping 2023-01-04 10:52:42 +01:00
Marco Belladelli 461383c8d1 HHH-15866 Add test for issue 2023-01-04 10:52:42 +01:00
Marco Belladelli e39473139e HHH-15865 Fix CI test failures due to GenerationType.IDENTITY 2023-01-04 10:02:00 +01:00
Gavin b7b5fb7559 avoid the use of TypeConfiguration.getServiceRegistry() 2023-01-03 21:06:49 +01:00
Gavin e8f899ffbc avoid the use of TypeConfiguration.getSessionFactory() which is not very typesafe
continue sorting out issues with lifecycle of SessionFactoryImpl and friends
2023-01-03 21:06:49 +01:00
Gavin 91c69d72a7 work on jdoc of Dialect (mostly just formatting) 2023-01-03 21:06:49 +01:00
Gavin d285464302 refresh jdoc for TC and TCA 2023-01-03 21:06:49 +01:00
marko-bekhta b47049f892 HHH-15962 Provide simple default impl for new members of `SchemaManagementTool` interface
- make both `getSchemaTruncator/buildGenerationTargets` as default methods throwing `UnsupportedOperationException`
2023-01-03 10:36:44 +01:00
LLEFEVRE ccf4fac124 HHH-15961 Speed-up Oracle CI build 2023-01-03 10:26:46 +01:00
Gavin 4670087c1a mention XML mappings in overview 2023-01-02 22:26:31 +01:00
Gavin c7a26efed5 more jdoc improvements to annotations 2023-01-02 21:48:47 +01:00
Gavin b7f34795df fix for databases which don't like multiple 'check' keywords
- also check for dupe constraints (for some reason they get added)
2023-01-02 21:45:02 +01:00
Gavin f385fa063a consistently allow multiple @Check constraints
+ improvements to jdoc of @Formula and @Check
2023-01-02 21:45:02 +01:00
Gavin aeabc0e48e eliminate SQL parsing when there are no secondary tables 2023-01-02 21:45:02 +01:00
Gavin 822153948c further reduce direct use of SessionFactory during metamodel building 2023-01-02 21:45:02 +01:00
Gavin 102ef2f469 refactor some functionality out of constructor SessionFactoryImpl into observers 2023-01-02 21:45:02 +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
Gavin 1eba25a466 add some doc to AttributeContainer 2023-01-02 21:45:02 +01:00
Gavin 117851e4a4 add example to @Comment 2023-01-02 21:45:02 +01:00
Gavin 1657c22aca automatically detect when a @Check refers to a @SecondaryTable
- also support named check constraints (multiple of them)
- also support check constraints on collection tables
2023-01-02 21:45:02 +01:00
Gavin abb89a32b1 minor change to code 2023-01-02 21:45:02 +01:00
Gavin c718a46285 improve some error messages 2023-01-02 21:45:02 +01:00
Marco Belladelli 90c767681e HHH-15865 Store attribute metadata for inverse EmbeddedAttributeMapping 2023-01-02 12:07:13 +01:00
Marco Belladelli 8f7b8b8fa2 HHH-15865 Add test for issue 2023-01-02 12:07:13 +01:00
Marco Belladelli 8b7ad24756 HHH-15868 Fix log function test on CockroachDB 2023-01-02 11:21:03 +01:00
Gavin a1853a8c05 HHH-15960 reimplement @Column using the o.h.binder infrastructure and add @Comment(on ="...")
this lets me deprecate @Table(comment = "...") and gets rid of all the passing-Comment-objects-around
2023-01-01 21:36:42 +01:00
Gavin df5980226c HHH-15959 add TypeBinders + fix multiple AttributeBinders on a single field 2023-01-01 21:36:42 +01:00
Gavin e48a8120a9 improve some error messages 2023-01-01 17:25:07 +01:00
Gavin 76b2f92f39 HHH-15958 support the @RowId annotation on DB2 LUW
... and perhaps also on DB2 for z and i (no way to test it)
2023-01-01 17:25:07 +01:00
Gavin 366208924f clean up the JdbcSessionContext SPI + related code
- encapsulate stuff better within JdbcSessionContext
- fix lots of warnings
- deprecate stuff
2023-01-01 16:04:29 +01:00
Gavin 689cca1963 HHH-15958 much better support for @RowId annotation
- the rowid pseudo-column and type are now determined automatically from Dialect
- works (after all these years) in Postgres (and also on h2)
- introduce RowIdJdbcType (not strictly necessary, but a nicety)
2023-01-01 14:20:44 +01:00
Gavin 6da38d0b05 examples of a couple of nice ways to use the Session 2022-12-31 20:15:12 +01:00
Gavin 2576f74ade jdoc for org.hibernate.engine.jdbc.connections.spi 2022-12-31 19:05:06 +01:00
Gavin 6eccc49856 new blurb about OptimisticLocking in package-level doc for annotations 2022-12-31 18:37:11 +01:00
Gavin 5bc6558b07 allow @Nationalized to be used as a meta-annotation 2022-12-31 17:47:20 +01:00
Gavin 6523599106 allow @CollectionIdType to be used as meta-annotation
this was always intended, I believe
2022-12-31 17:47:20 +01:00
Gavin e89015fd8c document the use of typing annotations as meta-annotations 2022-12-31 17:47:19 +01:00
Gavin 60e5b75282 fix the misleading documentation of the @Bag annotation
and improve error reporting when used in a nonsensical way
2022-12-31 17:47:19 +01:00
Gavin a1d52b0bb1 minor cleanups to HCANNHelper 2022-12-31 17:47:19 +01:00
Gavin 327342b39e correct implementation of JPA SharedCacheMode for .hbm.xml
- even though I hate most of its members, I think NONE is pretty useful
- anyway we may as well make it work, since it's trivial
2022-12-31 13:33:26 +01:00
Gavin 1db1c08d3b document a couple of limitations 2022-12-31 13:27:03 +01:00
Gavin 1fe2509b3b minor edits to the jdoc of o.h.boot.spi package 2022-12-31 13:11:22 +01:00
Gavin 699e333ff1 javadoc for MetadataBuildingOptions 2022-12-31 12:31:45 +01:00
Gavin d1c9c4abac very minor doc fixes 2022-12-31 12:07:47 +01:00
Gavin 98d693501a mark Caching and TypeBeanInstanceProducer for potential package moves 2022-12-31 12:06:25 +01:00
Gavin cb103256e1 misc minor doc fixes and compiler warning fixes 2022-12-31 11:25:43 +01:00
Gavin 1d7ecf61c5 improve doc for SqmFunctionDescriptor 2022-12-31 09:58:51 +01:00
Gavin 46dec087fc @link -> @linkplain 2022-12-31 09:30:38 +01:00
Gavin 1a0be6e887 add a code example lifted from the Native Bootstrapping guide to jdoc 2022-12-31 09:27:50 +01:00
Gavin e9f826ee3c improve SchemaAutoTooling enum, making it usable for config 2022-12-31 09:18:56 +01:00
Gavin 66a2f492aa mention dialects in overview 2022-12-31 01:05:13 +01:00
Gavin 0d9a32a9df java-document the use of @Immutable and @Mutability with AttributeConverters 2022-12-31 00:32:39 +01:00
Gavin efd6c8c6fd add cross-refs I missed 2022-12-30 21:59:40 +01:00
Gavin a3059fb9d7 properly document TypeContributor and FunctionContributor 2022-12-30 21:29:16 +01:00