Skip to content

Upgrade Hibernate ORM to 6.3.2.Final #1800

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Nov 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,8 @@ jobs:
# and it's useful to test that.
- { name: "20", java_version_numeric: 20, jvm_args: '--enable-preview' }
- { name: "21-ea", java_version_numeric: 21, from: 'jdk.java.net', jvm_args: '--enable-preview' }
- { name: "22-ea", java_version_numeric: 22, from: 'jdk.java.net', jvm_args: '--enable-preview' }
# We skip this until Vert.x fixes a bug preventing the build to pass: https://github.com/eclipse-vertx/vertx-sql-client/issues/1379
# - { name: "22-ea", java_version_numeric: 22, from: 'jdk.java.net', jvm_args: '--enable-preview' }
steps:
- uses: actions/checkout@v2
- name: Get year/month for cache key
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@ Hibernate Reactive has been tested with:
- CockroachDB 22.1
- MS SQL Server 2019
- Oracle 21.3
- [Hibernate ORM][] 6.3.1.Final
- [Vert.x Reactive PostgreSQL Client](https://vertx.io/docs/vertx-pg-client/java/) 4.4.5
- [Vert.x Reactive MySQL Client](https://vertx.io/docs/vertx-mysql-client/java/) 4.4.5
- [Vert.x Reactive Db2 Client](https://vertx.io/docs/vertx-db2-client/java/) 4.4.5
- [Vert.x Reactive MS SQL Server Client](https://vertx.io/docs/vertx-mssql-client/java/) 4.4.5
- [Vert.x Reactive Oracle Client](https://vertx.io/docs/vertx-oracle-client/java/) 4.4.5
- [Hibernate ORM][] 6.3.2.Final
- [Vert.x Reactive PostgreSQL Client](https://vertx.io/docs/vertx-pg-client/java/) 4.5.0
- [Vert.x Reactive MySQL Client](https://vertx.io/docs/vertx-mysql-client/java/) 4.5.0
- [Vert.x Reactive Db2 Client](https://vertx.io/docs/vertx-db2-client/java/) 4.5.0
- [Vert.x Reactive MS SQL Server Client](https://vertx.io/docs/vertx-mssql-client/java/) 4.5.0
- [Vert.x Reactive Oracle Client](https://vertx.io/docs/vertx-oracle-client/java/) 4.5.0
- [Quarkus][Quarkus] via the Hibernate Reactive extension

[PostgreSQL]: https://www.postgresql.org
Expand Down
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ version = projectVersion
// ./gradlew clean build -PhibernateOrmVersion=5.6.15-SNAPSHOT
ext {
if ( !project.hasProperty('hibernateOrmVersion') ) {
hibernateOrmVersion = '6.3.1.Final'
hibernateOrmVersion = '6.3.2.Final'
}
if ( !project.hasProperty( 'hibernateOrmGradlePluginVersion' ) ) {
// Same as ORM as default
Expand Down Expand Up @@ -83,7 +83,7 @@ ext {
// Example:
// ./gradlew build -PvertxSqlClientVersion=4.0.0-SNAPSHOT
if ( !project.hasProperty( 'vertxSqlClientVersion' ) ) {
vertxSqlClientVersion = '4.4.5'
vertxSqlClientVersion = '4.5.0'
}

testcontainersVersion = '1.18.3'
Expand Down
6 changes: 3 additions & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ org.gradle.java.installations.auto-download=false
#skipOrmVersionParsing = true

# Override default Vert.x Sql client version
#vertxSqlClientVersion = 4.4.5-SNAPSHOT
#vertxSqlClientVersion = 4.5.0-SNAPSHOT

# Override default Vert.x Web client and server versions. For integration tests, both default to vertxSqlClientVersion
#vertxWebVersion = 4.4.5
#vertxWebtClientVersion = 4.4.5
#vertxWebVersion = 4.5.0
#vertxWebtClientVersion = 4.5.0

Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
import org.hibernate.reactive.engine.ReactiveExecutable;
import org.hibernate.reactive.persister.entity.impl.ReactiveEntityPersister;
import org.hibernate.stat.spi.StatisticsImplementor;
import org.hibernate.tuple.entity.EntityMetamodel;
import org.hibernate.type.TypeHelper;

import static org.hibernate.reactive.util.impl.CompletionStages.completedFuture;
Expand Down Expand Up @@ -135,21 +134,6 @@ private CompletionStage<EntityEntry> handleGeneratedProperties(EntityEntry entry
}
}

// TODO: copy/paste from superclass (make it protected)
private void handleDeleted(EntityEntry entry) {
if ( entry.getStatus() == Status.DELETED ) {
final EntityMetamodel entityMetamodel = getPersister().getEntityMetamodel();
final boolean isImpliedOptimisticLocking = !entityMetamodel.isVersioned()
&& entityMetamodel.getOptimisticLockStyle().isAllOrDirty();
if ( isImpliedOptimisticLocking && entry.getLoadedState() != null ) {
// The entity will be deleted and because we are going to create a delete statement
// that uses all the state values in the where clause, the entry state needs to be
// updated otherwise the statement execution will not delete any row (see HHH-15218).
entry.postUpdate( getInstance(), getState(), getNextVersion() );
}
}
}

private CompletionStage<Void> processGeneratedProperties(
Object id,
ReactiveEntityPersister persister,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

import org.hibernate.LockOptions;
import org.hibernate.engine.spi.SessionFactoryImplementor;
import org.hibernate.metamodel.mapping.EntityMappingType;
import org.hibernate.metamodel.mapping.ModelPart;
import org.hibernate.sql.ast.tree.select.SelectStatement;
import org.hibernate.sql.exec.spi.JdbcParametersList;
Expand All @@ -21,12 +22,13 @@
public class ReactiveSingleIdArrayLoadPlan extends ReactiveSingleIdLoadPlan<Object[]> {

public ReactiveSingleIdArrayLoadPlan(
EntityMappingType entityMappingType,
ModelPart restrictivePart,
SelectStatement sqlAst,
JdbcParametersList jdbcParameters,
LockOptions lockOptions,
SessionFactoryImplementor sessionFactory) {
super( null, restrictivePart, sqlAst, jdbcParameters, lockOptions, sessionFactory );
super( entityMappingType, restrictivePart, sqlAst, jdbcParameters, lockOptions, sessionFactory );
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,15 @@ public CompletionStage<T> load(Object restrictedValue, Object entityInstance, Bo
assert offset == getJdbcParameters().size();
final QueryOptions queryOptions = new SimpleQueryOptions( getLockOptions(), readOnly );
final Callback callback = new CallbackImpl();
ExecutionContext executionContext = executionContext( restrictedValue, entityInstance, session, queryOptions, callback );
EntityMappingType loadable = (EntityMappingType) getLoadable();
ExecutionContext executionContext = executionContext(
restrictedValue,
entityInstance,
session,
loadable.getRootEntityDescriptor(),
queryOptions,
callback
);
// FIXME: Should we get this from jdbcServices.getSelectExecutor()?
return StandardReactiveSelectExecutor.INSTANCE
.list( getJdbcSelect(), jdbcParameterBindings, executionContext, getRowTransformer(), resultConsumer( singleResultExpected ) )
Expand All @@ -88,6 +96,7 @@ private static ExecutionContext executionContext(
Object restrictedValue,
Object entityInstance,
SharedSessionContractImplementor session,
EntityMappingType rootEntityDescriptor,
QueryOptions queryOptions,
Callback callback) {
return new ExecutionContext() {
Expand Down Expand Up @@ -151,6 +160,11 @@ public QueryParameterBindings getQueryParameterBindings() {
return QueryParameterBindings.NO_PARAM_BINDINGS;
}

@Override
public EntityMappingType getRootEntityDescriptor() {
return rootEntityDescriptor;
}

@Override
public Callback getCallback() {
return callback;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -629,7 +629,7 @@ default ReactiveSingleIdArrayLoadPlan createLazyLoadPlan(List<LazyAttributeDescr
factory
);
final JdbcParametersList jdbcParameters = jdbcParametersListBuilder.build();
return new ReactiveSingleIdArrayLoadPlan( getIdentifierMapping(), select, jdbcParameters, LockOptions.NONE, factory );
return new ReactiveSingleIdArrayLoadPlan( this, getIdentifierMapping(), select, jdbcParameters, LockOptions.NONE, factory );
}
}

Expand Down
4 changes: 2 additions & 2 deletions tooling/jbang/CockroachDBReactiveTest.java.qute
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
* Copyright: Red Hat Inc. and Hibernate Authors
*/

//DEPS io.vertx:vertx-pg-client:$\{vertx.version:4.4.5}
//DEPS io.vertx:vertx-unit:$\{vertx.version:4.4.5}
//DEPS io.vertx:vertx-pg-client:$\{vertx.version:4.5.0}
//DEPS io.vertx:vertx-unit:$\{vertx.version:4.5.0}
//DEPS org.hibernate.reactive:hibernate-reactive-core:$\{hibernate-reactive.version:2.0.5.Final}
//DEPS org.assertj:assertj-core:3.24.2
//DEPS junit:junit:4.13.2
Expand Down
4 changes: 2 additions & 2 deletions tooling/jbang/Db2ReactiveTest.java.qute
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
* Copyright: Red Hat Inc. and Hibernate Authors
*/

//DEPS io.vertx:vertx-db2-client:$\{vertx.version:4.4.5}
//DEPS io.vertx:vertx-unit:$\{vertx.version:4.4.5}
//DEPS io.vertx:vertx-db2-client:$\{vertx.version:4.5.0}
//DEPS io.vertx:vertx-unit:$\{vertx.version:4.5.0}
//DEPS org.hibernate.reactive:hibernate-reactive-core:$\{hibernate-reactive.version:2.0.5.Final}
//DEPS org.assertj:assertj-core:3.24.2
//DEPS junit:junit:4.13.2
Expand Down
6 changes: 3 additions & 3 deletions tooling/jbang/Example.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
*/

//DEPS com.ongres.scram:client:2.1
//DEPS io.vertx:vertx-pg-client:${vertx.version:4.4.5}
//DEPS io.vertx:vertx-mysql-client:${vertx.version:4.4.5}
//DEPS io.vertx:vertx-db2-client:${vertx.version:4.4.5}
//DEPS io.vertx:vertx-pg-client:${vertx.version:4.5.0}
//DEPS io.vertx:vertx-mysql-client:${vertx.version:4.5.0}
//DEPS io.vertx:vertx-db2-client:${vertx.version:4.5.0}
//DEPS org.hibernate.reactive:hibernate-reactive-core:${hibernate-reactive.version:2.0.5.Final}
//DEPS org.slf4j:slf4j-simple:2.0.7
//DESCRIPTION Allow authentication to PostgreSQL using SCRAM:
Expand Down
4 changes: 2 additions & 2 deletions tooling/jbang/MariaDBReactiveTest.java.qute
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
* Copyright: Red Hat Inc. and Hibernate Authors
*/

//DEPS io.vertx:vertx-mysql-client:$\{vertx.version:4.4.5}
//DEPS io.vertx:vertx-unit:$\{vertx.version:4.4.5}
//DEPS io.vertx:vertx-mysql-client:$\{vertx.version:4.5.0}
//DEPS io.vertx:vertx-unit:$\{vertx.version:4.5.0}
//DEPS org.hibernate.reactive:hibernate-reactive-core:$\{hibernate-reactive.version:2.0.5.Final}
//DEPS org.assertj:assertj-core:3.24.2
//DEPS junit:junit:4.13.2
Expand Down
4 changes: 2 additions & 2 deletions tooling/jbang/MySQLReactiveTest.java.qute
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
* Copyright: Red Hat Inc. and Hibernate Authors
*/

//DEPS io.vertx:vertx-mysql-client:$\{vertx.version:4.4.5}
//DEPS io.vertx:vertx-unit:$\{vertx.version:4.4.5}
//DEPS io.vertx:vertx-mysql-client:$\{vertx.version:4.5.0}
//DEPS io.vertx:vertx-unit:$\{vertx.version:4.5.0}
//DEPS org.hibernate.reactive:hibernate-reactive-core:$\{hibernate-reactive.version:2.0.5.Final}
//DEPS org.assertj:assertj-core:3.24.2
//DEPS junit:junit:4.13.2
Expand Down
4 changes: 2 additions & 2 deletions tooling/jbang/PostgreSQLReactiveTest.java.qute
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
* Copyright: Red Hat Inc. and Hibernate Authors
*/

//DEPS io.vertx:vertx-pg-client:$\{vertx.version:4.4.5}
//DEPS io.vertx:vertx-unit:$\{vertx.version:4.4.5}
//DEPS io.vertx:vertx-pg-client:$\{vertx.version:4.5.0}
//DEPS io.vertx:vertx-unit:$\{vertx.version:4.5.0}
//DEPS org.hibernate.reactive:hibernate-reactive-core:$\{hibernate-reactive.version:2.0.5.Final}
//DEPS org.assertj:assertj-core:3.24.2
//DEPS junit:junit:4.13.2
Expand Down
8 changes: 4 additions & 4 deletions tooling/jbang/ReactiveTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
*/

///usr/bin/env jbang "$0" "$@" ; exit $?
//DEPS io.vertx:vertx-pg-client:${vertx.version:4.4.5}
//DEPS io.vertx:vertx-pg-client:${vertx.version:4.5.0}
//DEPS com.ongres.scram:client:2.1
//DEPS io.vertx:vertx-db2-client:${vertx.version:4.4.5}
//DEPS io.vertx:vertx-mysql-client:${vertx.version:4.4.5}
//DEPS io.vertx:vertx-unit:${vertx.version:4.4.5}
//DEPS io.vertx:vertx-db2-client:${vertx.version:4.5.0}
//DEPS io.vertx:vertx-mysql-client:${vertx.version:4.5.0}
//DEPS io.vertx:vertx-unit:${vertx.version:4.5.0}
//DEPS org.hibernate.reactive:hibernate-reactive-core:${hibernate-reactive.version:2.0.5.Final}
//DEPS org.assertj:assertj-core:3.24.2
//DEPS junit:junit:4.13.2
Expand Down