8
8
import java .util .ArrayList ;
9
9
import java .util .HashMap ;
10
10
import java .util .List ;
11
- import java .util .Map ;
12
11
13
12
import org .hibernate .engine .spi .EntityEntry ;
14
13
import org .hibernate .engine .spi .EntityKey ;
15
- import org .hibernate .engine .spi .PersistenceContext ;
16
- import org .hibernate .engine .spi .SessionFactoryImplementor ;
17
- import org .hibernate .engine .spi .SharedSessionContractImplementor ;
18
- import org .hibernate .internal .log .LoggingHelper ;
19
14
import org .hibernate .metamodel .mapping .AttributeMapping ;
20
15
import org .hibernate .metamodel .mapping .EntityMappingType ;
21
16
import org .hibernate .metamodel .mapping .internal .ToOneAttributeMapping ;
31
26
import org .hibernate .sql .results .jdbc .spi .RowProcessingState ;
32
27
import org .hibernate .type .Type ;
33
28
34
- public class BatchEntityInsideEmbeddableSelectFetchInitializer extends AbstractBatchEntitySelectFetchInitializer <BatchEntityInsideEmbeddableSelectFetchInitializer .BatchEntityInsideEmbeddableSelectFetchInitializerData > {
29
+ import static org .hibernate .internal .log .LoggingHelper .toLoggableString ;
30
+
31
+ public class BatchEntityInsideEmbeddableSelectFetchInitializer
32
+ extends AbstractBatchEntitySelectFetchInitializer <BatchEntityInsideEmbeddableSelectFetchInitializer .BatchEntityInsideEmbeddableSelectFetchInitializerData > {
35
33
protected final Setter referencedModelPartSetter ;
36
34
protected final AttributeMapping [] rootEmbeddableAttributes ;
37
35
protected final Getter [] rootEmbeddableGetters ;
@@ -52,7 +50,8 @@ public Object readResolve() {
52
50
}
53
51
};
54
52
55
- public static class BatchEntityInsideEmbeddableSelectFetchInitializerData extends AbstractBatchEntitySelectFetchInitializerData {
53
+ public static class BatchEntityInsideEmbeddableSelectFetchInitializerData
54
+ extends AbstractBatchEntitySelectFetchInitializerData {
56
55
private HashMap <EntityKey , List <ParentInfo >> toBatchLoad ;
57
56
58
57
public BatchEntityInsideEmbeddableSelectFetchInitializerData (
@@ -125,12 +124,12 @@ public void initializeInstance(BatchEntityInsideEmbeddableSelectFetchInitializer
125
124
super .initializeInstance ( data );
126
125
// todo: check why this can't be moved to #registerToBatchFetchQueue
127
126
if ( data .getInstance () == BATCH_PROPERTY ) {
128
- final RowProcessingState rowProcessingState = data .getRowProcessingState ();
127
+ final var rowProcessingState = data .getRowProcessingState ();
129
128
final InitializerData owningData = owningEntityInitializer .getData ( rowProcessingState );
130
129
final int owningEntitySubclassId = owningEntityInitializer .getConcreteDescriptor ( owningData ).getSubclassId ();
131
130
final AttributeMapping rootEmbeddableAttribute = rootEmbeddableAttributes [owningEntitySubclassId ];
132
131
if ( rootEmbeddableAttribute != null ) {
133
- HashMap < EntityKey , List < ParentInfo >> toBatchLoad = data .toBatchLoad ;
132
+ var toBatchLoad = data .toBatchLoad ;
134
133
if ( toBatchLoad == null ) {
135
134
toBatchLoad = data .toBatchLoad = new HashMap <>();
136
135
}
@@ -171,14 +170,14 @@ public ParentInfo(
171
170
@ Override
172
171
public void endLoading (BatchEntityInsideEmbeddableSelectFetchInitializerData data ) {
173
172
super .endLoading ( data );
174
- final HashMap < EntityKey , List < ParentInfo >> toBatchLoad = data .toBatchLoad ;
173
+ final var toBatchLoad = data .toBatchLoad ;
175
174
if ( toBatchLoad != null ) {
176
- for ( Map . Entry < EntityKey , List < ParentInfo >> entry : toBatchLoad .entrySet () ) {
175
+ for ( var entry : toBatchLoad .entrySet () ) {
177
176
final EntityKey entityKey = entry .getKey ();
178
177
final List <ParentInfo > parentInfos = entry .getValue ();
179
- final SharedSessionContractImplementor session = data .getRowProcessingState ().getSession ();
180
- final SessionFactoryImplementor factory = session .getFactory ();
181
- final PersistenceContext persistenceContext = session .getPersistenceContextInternal ();
178
+ final var session = data .getRowProcessingState ().getSession ();
179
+ final var factory = session .getFactory ();
180
+ final var persistenceContext = session .getPersistenceContextInternal ();
182
181
final Object loadedInstance = loadInstance ( entityKey , toOneMapping , affectedByFilter , session );
183
182
for ( ParentInfo parentInfo : parentInfos ) {
184
183
final Object parentEntityInstance = parentInfo .parentEntityInstance ;
@@ -194,11 +193,11 @@ public void endLoading(BatchEntityInsideEmbeddableSelectFetchInitializerData dat
194
193
The value of RootEmbeddable is needed to update the ParentEntity loaded state
195
194
*/
196
195
final int parentEntitySubclassId = parentInfo .parentEntitySubclassId ;
197
- final Object rootEmbeddable = rootEmbeddableGetters [ parentEntitySubclassId ]. get ( parentEntityInstance );
198
- loadedState [ parentInfo . propertyIndex ] = rootEmbeddablePropertyTypes [ parentEntitySubclassId ].deepCopy (
199
- rootEmbeddable ,
200
- factory
201
- );
196
+ final Object rootEmbeddable =
197
+ rootEmbeddableGetters [ parentEntitySubclassId ].get ( parentEntityInstance );
198
+ loadedState [ parentInfo . propertyIndex ] =
199
+ rootEmbeddablePropertyTypes [ parentEntitySubclassId ]
200
+ . deepCopy ( rootEmbeddable , factory );
202
201
}
203
202
}
204
203
}
@@ -223,7 +222,7 @@ protected static String getRootEmbeddablePropertyName(
223
222
224
223
@ Override
225
224
public String toString () {
226
- return "BatchEntityInsideEmbeddableSelectFetchInitializer(" + LoggingHelper . toLoggableString ( getNavigablePath () ) + ")" ;
225
+ return "BatchEntityInsideEmbeddableSelectFetchInitializer(" + toLoggableString ( getNavigablePath () ) + ")" ;
227
226
}
228
227
229
228
}
0 commit comments