Skip to content

Commit 8630b2d

Browse files
christophstroblmp911de
authored andcommitted
Enhance type filter to cover java.sql package.
Closes #4228 Original pull request: #4231
1 parent c0677e3 commit 8630b2d

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/aot/JpaTypeFilters.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
* {@link TypeCollector} predicates to exclude JPA provider types.
2929
*
3030
* @author Mark Paluch
31+
* @author Christoph Strobl
3132
* @since 4.0
3233
*/
3334
class JpaTypeFilters implements TypeCollector.TypeCollectorFilters {
@@ -38,7 +39,7 @@ class JpaTypeFilters implements TypeCollector.TypeCollectorFilters {
3839
private static final Predicate<Member> IS_HIBERNATE_MEMBER = member -> member.getName().startsWith("$$_hibernate");
3940

4041
private static final Predicate<Class<?>> CLASS_FILTER = it -> TypeUtils.type(it).isPartOf("org.hibernate",
41-
"org.eclipse.persistence", "jakarta.persistence");
42+
"org.eclipse.persistence", "jakarta.persistence", "java.sql");
4243

4344
@Override
4445
public Predicate<Class<?>> classPredicate() {

spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/aot/JpaTypeFiltersUnitTests.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919

2020
import jakarta.persistence.LockOption;
2121

22+
import java.sql.Clob;
23+
2224
import org.eclipse.persistence.sessions.DatabaseSession;
2325
import org.hibernate.Session;
2426
import org.junit.jupiter.api.Test;
@@ -29,6 +31,7 @@
2931
* Unit tests for {@link JpaTypeFilters}.
3032
*
3133
* @author Mark Paluch
34+
* @author Christoph Strobl
3235
*/
3336
class JpaTypeFiltersUnitTests {
3437

@@ -37,6 +40,13 @@ void shouldFilterUnreachableField() {
3740
assertThat(TypeCollector.inspect(EnhancedEntity.class).list()).containsOnly(EnhancedEntity.class, Reachable.class);
3841
}
3942

43+
@Test // GH-4228
44+
void shouldFilterNativeSqlTypes() {
45+
46+
JpaTypeFilters filters = new JpaTypeFilters();
47+
assertThat(filters.classPredicate().test(Clob.class)).isFalse();
48+
}
49+
4050
static class Unreachable {
4151

4252
}

0 commit comments

Comments
 (0)