38
38
import org .hibernate .sql .exec .spi .JdbcOperationQuerySelect ;
39
39
import org .hibernate .sql .exec .spi .JdbcParameterBindings ;
40
40
41
+ import static java .util .Collections .emptyList ;
42
+
41
43
/**
42
44
*
43
45
* @param <T>
@@ -51,12 +53,13 @@ public ReactiveSingleUniqueKeyEntityLoaderStandard(
51
53
EntityMappingType entityDescriptor ,
52
54
SingularAttributeMapping uniqueKeyAttribute ) {
53
55
this .entityDescriptor = entityDescriptor ;
54
- if ( uniqueKeyAttribute instanceof ToOneAttributeMapping ) {
55
- this .uniqueKeyAttribute = ( (ToOneAttributeMapping ) uniqueKeyAttribute ).getForeignKeyDescriptor ();
56
- }
57
- else {
58
- this .uniqueKeyAttribute = uniqueKeyAttribute ;
59
- }
56
+ this .uniqueKeyAttribute = uniqueKeyAttribute instanceof ToOneAttributeMapping
57
+ ? ( (ToOneAttributeMapping ) uniqueKeyAttribute ).getForeignKeyDescriptor ()
58
+ : uniqueKeyAttribute ;
59
+ }
60
+
61
+ private static Object transformRow (Object [] row ) {
62
+ return row [0 ];
60
63
}
61
64
62
65
@ Override
@@ -72,7 +75,7 @@ public CompletionStage<T> load(Object ukValue, LockOptions lockOptions, Boolean
72
75
final List <JdbcParameter > jdbcParameters = new ArrayList <>();
73
76
final SelectStatement sqlAst = LoaderSelectBuilder .createSelectByUniqueKey (
74
77
entityDescriptor ,
75
- Collections . emptyList (),
78
+ emptyList (),
76
79
uniqueKeyAttribute ,
77
80
null ,
78
81
1 ,
@@ -103,7 +106,7 @@ public CompletionStage<T> load(Object ukValue, LockOptions lockOptions, Boolean
103
106
jdbcSelect ,
104
107
jdbcParameterBindings ,
105
108
new SingleUKEntityLoaderExecutionContext ( session , readOnly ),
106
- row -> row [ 0 ] ,
109
+ ReactiveSingleUniqueKeyEntityLoaderStandard :: transformRow ,
107
110
ReactiveListResultsConsumer .UniqueSemantic .FILTER
108
111
)
109
112
.thenApply ( list -> singleResult ( ukValue , list ) );
0 commit comments