Skip to content

Commit ed3feea

Browse files
beikovSanne
authored andcommitted
HHH-14310 Document hibernate.query.in_clause_parameter_padding and some other missing config properties
1 parent 8e8844d commit ed3feea

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

documentation/src/main/asciidoc/userguide/appendices/Configurations.adoc

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,14 @@ Please report your mapping that causes the problem to us so we can examine the d
275275
+
276276
The default value is `false` which means Hibernate will use an algorithm to determine if the insert can be delayed or if the insert should be performed immediately.
277277

278+
`*hibernate.id.sequence.increment_size_mismatch_strategy*` (e.g. `LOG`, `FIX` or `EXCEPTION` (default value))::
279+
This setting defines the `org.hibernate.id.SequenceMismatchStrategy` used when
280+
Hibernate detects a mismatch between a sequence configuration in an entity mapping
281+
and its database sequence object counterpart.
282+
+
283+
The default value is given by the `org.hibernate.id.SequenceMismatchStrategy#EXCEPTION`,
284+
meaning that an Exception is thrown when detecting such a conflict.
285+
278286
==== Quoting options
279287

280288
`*hibernate.globally_quoted_identifiers*` (e.g. `true` or `false` (default value))::
@@ -511,6 +519,30 @@ Raises an exception when in-memory pagination over collection fetch is about to
511519
+
512520
Disabled by default. Set to true to enable.
513521

522+
`*hibernate.query.immutable_entity_update_query_handling_mode*` (e.g. `EXCEPTION` or `WARNING` (default value))::
523+
Defines how `Immutable` entities are handled when executing a bulk update query.
524+
+
525+
By default, the (`ImmutableEntityUpdateQueryHandlingMode#WARNING`) mode is used, meaning that
526+
a warning log message is issued when an `@Immutable` entity is to be updated via a bulk update statement.
527+
+
528+
If the (`ImmutableEntityUpdateQueryHandlingMode#EXCEPTION`) mode is used, then a `HibernateException` is thrown instead.
529+
530+
`*hibernate.query.in_clause_parameter_padding*` (e.g. `true` or `false` (default value))::
531+
By default, the IN clause expands to include all bind parameter values.
532+
+
533+
However, for database systems supporting execution plan caching,
534+
there's a better chance of hitting the cache if the number of possible IN clause parameters lowers.
535+
+
536+
For this reason, we can expand the bind parameters to power-of-two: 4, 8, 16, 32, 64.
537+
This way, an IN clause with 5, 6, or 7 bind parameters will use the 8 IN clause,
538+
therefore reusing its execution plan.
539+
540+
`*hibernate.query.omit_join_of_superclass_tables*` (e.g. `false` or `true` (default value))::
541+
When you use `javax.persistence.InheritanceType#JOINED` strategy for inheritance mapping and query
542+
a value from an entity, all superclass tables are joined in the query regardless you need them.
543+
+
544+
With this setting set to true only superclass tables which are really needed are joined.
545+
514546
==== Multi-table bulk HQL operations
515547

516548
`*hibernate.hql.bulk_id_strategy*` (e.g. A fully-qualified class name, an instance, or a `Class` object reference)::

0 commit comments

Comments
 (0)