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