19
19
20
20
import io .r2dbc .spi .Row ;
21
21
22
+ import java .util .ArrayList ;
22
23
import java .util .Arrays ;
24
+ import java .util .Collections ;
25
+ import java .util .List ;
26
+ import java .util .UUID ;
23
27
24
28
import org .junit .Test ;
25
29
26
30
import org .springframework .core .convert .converter .Converter ;
31
+ import org .springframework .data .convert .CustomConversions ;
27
32
import org .springframework .data .convert .ReadingConverter ;
28
33
import org .springframework .data .convert .WritingConverter ;
29
34
import org .springframework .data .r2dbc .convert .R2dbcCustomConversions ;
35
+ import org .springframework .data .r2dbc .dialect .PostgresDialect ;
36
+ import org .springframework .data .r2dbc .dialect .R2dbcDialect ;
30
37
31
38
/**
32
39
* Unit tests for {@link R2dbcMappingContext}.
@@ -47,6 +54,27 @@ public void shouldCreateMetadataForConvertedTypes() {
47
54
assertThat (context .getPersistentEntity (ConvertedEntity .class )).isNotNull ();
48
55
}
49
56
57
+ @ Test // gh-284
58
+ public void shouldNotCreateEntityForUUID () {
59
+
60
+ R2dbcDialect dialect = PostgresDialect .INSTANCE ;
61
+
62
+ List <Object > converters = new ArrayList <>(dialect .getConverters ());
63
+ converters .addAll (R2dbcCustomConversions .STORE_CONVERTERS );
64
+
65
+ CustomConversions .StoreConversions storeConversions = CustomConversions .StoreConversions
66
+ .of (dialect .getSimpleTypeHolder (), converters );
67
+
68
+ R2dbcCustomConversions conversions = new R2dbcCustomConversions (storeConversions , Collections .emptyList ());
69
+
70
+ R2dbcMappingContext context = new R2dbcMappingContext ();
71
+ context .setSimpleTypeHolder (conversions .getSimpleTypeHolder ());
72
+ context .afterPropertiesSet ();
73
+
74
+ assertThat (context .getPersistentEntity (MyEntity .class )).isNotNull ();
75
+ assertThat (context .getPersistentEntity (UUID .class )).isNull ();
76
+ }
77
+
50
78
static class ConvertedEntity {
51
79
52
80
}
@@ -73,4 +101,9 @@ public ConvertedEntity convert(Row source) {
73
101
return new ConvertedEntity ();
74
102
}
75
103
}
104
+
105
+ static class MyEntity {
106
+
107
+ UUID id ;
108
+ }
76
109
}
0 commit comments