1 | public class SubselectCollectionLoader extends BasicCollectionLoader {↵ | | 1 | public class SubselectOneToManyLoader extends OneToManyLoader {↵
|
2 | ↵ | | 2 | ↵
|
3 | private final Serializable[] keys;↵ | | 3 | private final Serializable[] keys;↵
|
4 | private final Type[] types;↵ | | 4 | private final Type[] types;↵
|
5 | private final Object[] values;↵ | | 5 | private final Object[] values;↵
|
6 | private final Map namedParameters;↵ | | 6 | private final Map namedParameters;↵
|
7 | private final Map namedParameterLocMap;↵ | | 7 | private final Map namedParameterLocMap;↵
|
|
8 | public SubselectCollectionLoader(↵ | | 8 | public SubselectOneToManyLoader(↵
|
9 | QueryableCollection persister, ↵ | | 9 | QueryableCollection persister, ↵
|
10 | String subquery,↵ | | 10 | String subquery,↵
|
11 | Collection entityKeys,↵ | | 11 | Collection entityKeys,↵
|
12 | QueryParameters queryParameters,↵ | | 12 | QueryParameters queryParameters,↵
|
13 | Map namedParameterLocMap,↵ | | 13 | Map namedParameterLocMap,↵
|
14 | SessionFactoryImplementor factory, ↵ | | 14 | SessionFactoryImplementor factory, ↵
|
15 | Map enabledFilters)↵ | | 15 | Map enabledFilters)↵
|
16 | throws MappingException {↵ | | 16 | throws MappingException {↵
|
17 | ↵ | | 17 | ↵
|
18 | super(persister, 1, subquery, factory, enabledFilters);↵ | | 18 | super(persister, 1, subquery, factory, enabledFilters);↵
|
|
19 | keys = new Serializable[ entityKeys.size() ];↵ | | 19 | keys = new Serializable[ entityKeys.size() ];↵
|
20 | Iterator iter = entityKeys.iterator();↵ | | 20 | Iterator iter = entityKeys.iterator();↵
|
21 | int i=0;↵ | | 21 | int i=0;↵
|
22 | while ( iter.hasNext() ) {↵ | | 22 | while ( iter.hasNext() ) {↵
|
23 | keys[i++] = ( (EntityKey) iter.next() ).getIdentifier();↵ | | 23 | keys[i++] = ( (EntityKey) iter.next() ).getIdentifier();↵
|
24 | }↵ | | 24 | }↵
|
25 | ↵ | | 25 | ↵
|
26 | this.namedParameters = queryParameters.getNamedParameters();↵ | | 26 | this.namedParameters = queryParameters.getNamedParameters();↵
|
27 | this.types = queryParameters.getFilteredPositionalParameterTypes();↵ | | 27 | this.types = queryParameters.getFilteredPositionalParameterTypes();↵
|
28 | this.values = queryParameters.getFilteredPositionalParameterValues();↵ | | 28 | this.values = queryParameters.getFilteredPositionalParameterValues();↵
|
29 | this.namedParameterLocMap = namedParameterLocMap;↵ | | 29 | this.namedParameterLocMap = namedParameterLocMap;↵
|
30 | ↵ | | 30 | ↵
|
31 | }↵ | | 31 | }↵
|
|
32 | public void initialize(Serializable id, SessionImplementor session)↵ | | 32 | public void initialize(Serializable id, SessionImplementor session)↵
|
33 | throws HibernateException {↵ | | 33 | throws HibernateException {↵
|
34 | loadCollectionSubselect( ↵ | | 34 | loadCollectionSubselect( ↵
|
35 | session, ↵ | | 35 | session, ↵
|
36 | keys, ↵ | | 36 | keys, ↵
|
37 | values,↵ | | 37 | values,↵
|
38 | types,↵ | | 38 | types,↵
|
39 | namedParameters,↵ | | 39 | namedParameters,↵
|
40 | getKeyType() ↵ | | 40 | getKeyType() ↵
|
41 | );↵ | | 41 | );↵
|
42 | }↵ | | 42 | }↵
|
|
43 | public int[] getNamedParameterLocs(String name) {↵ | | 43 | public int[] getNamedParameterLocs(String name) {↵
|
44 | return (int[]) namedParameterLocMap.get( name );↵ | | 44 | return (int[]) namedParameterLocMap.get( name );↵
|
45 | | | 45 |
|