16
16
import org .hibernate .reactive .logging .impl .Log ;
17
17
import org .hibernate .reactive .logging .impl .LoggerFactory ;
18
18
import org .hibernate .service .spi .ServiceRegistryImplementor ;
19
+ import org .hibernate .sql .ast .internal .ParameterMarkerStrategyStandard ;
19
20
import org .hibernate .sql .ast .spi .ParameterMarkerStrategy ;
20
21
import org .hibernate .type .descriptor .jdbc .JdbcType ;
21
22
@@ -38,18 +39,26 @@ public ParameterMarkerStrategy initiateService(Map<String, Object> configuration
38
39
final Dialect dialect = registry .getService ( JdbcServices .class ).getDialect ();
39
40
final Dialect realDialect = DialectDelegateWrapper .extractRealDialect ( dialect );
40
41
final ParameterMarkerStrategy renderer = recommendRendered ( realDialect );
41
- LOG .debug ( "Initializing service JdbcParameterRenderer with implementation: " + renderer .getClass () );
42
+ LOG .debugf ( "Initializing service JdbcParameterRenderer with implementation: %s" , renderer .getClass () );
42
43
return renderer ;
43
44
}
44
45
46
+ /**
47
+ * Given a {@link Dialect}, returns the recommended {@link ParameterMarkerStrategy}.
48
+ * <p>
49
+ * The default strategy is {@link ParameterMarkerStrategyStandard}.
50
+ * </p>
51
+ * @return the selected strategy for the dialect, never null
52
+ */
45
53
private ParameterMarkerStrategy recommendRendered (Dialect realDialect ) {
46
54
if ( realDialect instanceof PostgreSQLDialect ) {
47
55
return new PostgreSQLNativeParameterMarkers ();
48
56
}
49
57
//TBD : Implementations for other DBs
50
- else {
51
- return realDialect .getNativeParameterMarkerStrategy ();
52
- }
58
+
59
+ return realDialect .getNativeParameterMarkerStrategy () == null
60
+ ? ParameterMarkerStrategyStandard .INSTANCE
61
+ : realDialect .getNativeParameterMarkerStrategy ();
53
62
}
54
63
55
64
@ Override
0 commit comments