Upgrade to Hibernate 7.0.0.CR1.

Closes: #3872
This commit is contained in:
Christoph Strobl
2025-05-08 12:38:58 +02:00
committed by Mark Paluch
parent 7f20f10b30
commit eb4ad0923d
2 changed files with 14 additions and 11 deletions

View File

@@ -30,7 +30,7 @@
<antlr>4.13.2</antlr> <!-- align with Hibernate's parser -->
<eclipselink>5.0.0-B07</eclipselink>
<eclipselink-next>5.0.0-SNAPSHOT</eclipselink-next>
<hibernate>7.0.0.Beta5</hibernate>
<hibernate>7.0.0.CR1</hibernate>
<hibernate-70-snapshots>7.0.0-SNAPSHOT</hibernate-70-snapshots>
<hsqldb>2.7.4</hsqldb>
<h2>2.3.232</h2>

View File

@@ -15,7 +15,10 @@
*/
package org.springframework.data.jpa.repository.query;
import static org.assertj.core.api.Assertions.*;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
import static org.assertj.core.api.Assertions.assertThatNullPointerException;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
@@ -27,11 +30,11 @@ import jakarta.persistence.criteria.Selection;
import java.util.Locale;
import org.hibernate.query.sqm.tree.SqmRenderContext;
import org.hibernate.query.sqm.tree.select.SqmSelectStatement;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.data.jpa.domain.JpaSort;
import org.springframework.data.jpa.domain.sample.User;
import org.springframework.test.context.ContextConfiguration;
@@ -125,26 +128,26 @@ class HqlOrderExpressionVisitorUnitTests {
// JDBC
assertThat(renderOrderBy(JpaSort.unsafe("createdAt + {ts '2024-01-01 12:34:56'}"), "u"))
.startsWithIgnoringCase("order by u.createdAt + 2024-01-01T12:34:56");
.startsWithIgnoringCase("order by u.createdAt + '2024-01-01T12:34:56'");
assertThat(renderOrderBy(JpaSort.unsafe("createdAt + {ts '2012-01-03 09:00:00.000000001'}"), "u"))
.startsWithIgnoringCase("order by u.createdAt + 2012-01-03T09:00:00.000000001");
.startsWithIgnoringCase("order by u.createdAt + '2012-01-03T09:00:00.000000001'");
// Hibernate NPE
assertThatNullPointerException().isThrownBy(() -> renderOrderBy(JpaSort.unsafe("createdAt + {t '12:34:56'}"), "u"));
assertThatIllegalArgumentException().isThrownBy(() -> renderOrderBy(JpaSort.unsafe("createdAt + {t '12:34:56'}"), "u"));
assertThat(renderOrderBy(JpaSort.unsafe("createdAt + {d '2024-01-01'}"), "u"))
.startsWithIgnoringCase("order by u.createdAt + 2024-01-01");
.startsWithIgnoringCase("order by u.createdAt + '2024-01-01'");
// JPQL
assertThat(renderOrderBy(JpaSort.unsafe("createdAt + {ts 2024-01-01 12:34:56}"), "u"))
.startsWithIgnoringCase("order by u.createdAt + 2024-01-01T12:34:56");
.startsWithIgnoringCase("order by u.createdAt + '2024-01-01T12:34:56'");
assertThat(renderOrderBy(JpaSort.unsafe("createdAt + {t 12:34:56}"), "u"))
.startsWithIgnoringCase("order by u.createdAt + 12:34:56");
.startsWithIgnoringCase("order by u.createdAt + '12:34:56'");
assertThat(renderOrderBy(JpaSort.unsafe("createdAt + {d 2024-01-01}"), "u"))
.startsWithIgnoringCase("order by u.createdAt + 2024-01-01");
.startsWithIgnoringCase("order by u.createdAt + '2024-01-01'");
}
@Test // GH-3172
@@ -262,7 +265,7 @@ class HqlOrderExpressionVisitorUnitTests {
SqmSelectStatement s = (SqmSelectStatement) q;
StringBuilder builder = new StringBuilder();
s.appendHqlString(builder);
s.appendHqlString(builder, SqmRenderContext.simpleContext());
return builder.toString();
}