|
6 | 6 | */ |
7 | 7 | package org.hibernate.query.derived; |
8 | 8 |
|
| 9 | +import java.util.ArrayList; |
9 | 10 | import java.util.HashSet; |
10 | 11 | import java.util.List; |
11 | 12 | import java.util.Map; |
@@ -67,6 +68,8 @@ public class AnonymousTupleTableGroupProducer implements TableGroupProducer, Map |
67 | 68 | private final JavaType<?> javaTypeDescriptor; |
68 | 69 | private final Map<String, ModelPart> modelParts; |
69 | 70 | private final Set<String> compatibleTableExpressions; |
| 71 | + private final int jdbcTypeCount; |
| 72 | + private final List<JdbcMapping> jdbcMappings = new ArrayList<>(); |
70 | 73 |
|
71 | 74 | public AnonymousTupleTableGroupProducer( |
72 | 75 | AnonymousTupleType<?> tupleType, |
@@ -114,10 +117,14 @@ public AnonymousTupleTableGroupProducer( |
114 | 117 | ); |
115 | 118 | } |
116 | 119 | modelParts.put( partName, modelPart ); |
| 120 | + for ( int j = 0; j < modelPart.getJdbcTypeCount(); j++ ) { |
| 121 | + jdbcMappings.add( modelPart.getJdbcMapping( j ) ); |
| 122 | + } |
117 | 123 | selectionIndex += modelPart.getJdbcTypeCount(); |
118 | 124 | } |
119 | 125 | this.modelParts = modelParts; |
120 | 126 | this.compatibleTableExpressions = compatibleTableExpressions; |
| 127 | + jdbcTypeCount = selectionIndex; |
121 | 128 | } |
122 | 129 |
|
123 | 130 | private ModelPart getModelPart(TableGroup tableGroup) { |
@@ -368,11 +375,16 @@ public <X, Y> int forEachDisassembledJdbcValue( |
368 | 375 |
|
369 | 376 | @Override |
370 | 377 | public JdbcMapping getJdbcMapping(int index) { |
371 | | - throw new UnsupportedOperationException( "Not yet implemented" ); |
| 378 | + return jdbcMappings.get( index ); |
372 | 379 | } |
373 | 380 |
|
374 | 381 | @Override |
375 | 382 | public int forEachJdbcType(int offset, IndexedConsumer<JdbcMapping> action) { |
376 | 383 | throw new UnsupportedOperationException( "Not yet implemented" ); |
377 | 384 | } |
| 385 | + |
| 386 | + @Override |
| 387 | + public int getJdbcTypeCount() { |
| 388 | + return jdbcTypeCount; |
| 389 | + } |
378 | 390 | } |
0 commit comments