@Test
                                      public
                                    void
                                    test002() {
                                         
                                    EntityManagerFactory emf = null;
                                         
                                    EntityManager em = null;
                                          
                                  
                                          emf
                                    =
                                    javax.persistence.Persistence.createEntityManagerFactory("testpu");
                                          em =
                                    emf.createEntityManager();
                                          
                                  
                                         
                                    em.getTransaction().begin();
                                         
                                    em.createNativeQuery("DELETE
                                      FROM ECLENTA_ENTB").executeUpdate();
                                         
                                    em.createNativeQuery("DELETE
                                      FROM ECL295EntA").executeUpdate();
                                         
                                    em.createNativeQuery("DELETE
                                      FROM ECL295EntB").executeUpdate();
                                          
                                  
                                         
                                    em.getTransaction().commit();
                                         
                                    em.close();
                                          
                                  
                                          em =
                                    emf.createEntityManager();
                                         
                                    em.getTransaction().begin();
                                          
                                  
                                          final
                                    int
                                    entBCount = 10;
                                         
                                    ECL295EntB[] entBArr = new
                                    ECL295EntB[entBCount];
                                          
                                  
                                          for
                                    (int
                                    i = 0; i < entBCount; i++) {
                                             
                                    ECL295EntB entB = new
                                    ECL295EntB();
                                             
                                    entB.setId(i+1);
                                             
                                    entB.setStrData("Entity B-" + i);
                                             
                                    em.persist(entB);
                                              
                                  
                                             
                                    entBArr[i] = entB;
                                          }
                                          
                                  
                                         
                                    SecureRandom sr = new
                                    SecureRandom();
                                          
                                  
                                          for
                                    (int
                                    i = 0; i < 10; i++) {
                                             
                                    ECL295EntA entA = new
                                    ECL295EntA();
                                             
                                    entA.setId(i+1);
                                             
                                    entA.setStrData("EntA-" + i);
                                              
                                  
                                             
                                    StringBuffer sb = new
                                    StringBuffer();
                                             
                                    for
                                    (int
                                    j = 0; j < 200; j++) {
                                             
                                       
                                    sb.append(sr.nextLong());sb.append(' ');
                                             
                                    }
                                             
                                    entA.setStringValue(sb.toString());
                                              
                                  
                                                         
                                  
                                             
                                    for
                                    (int
                                    j = 0; j < entBCount; j++) {
                                             
                                       
                                    entBArr[j].getEntACollection().put(entA.getStrData(),
                                    entA);
                                             
                                    }
                                              
                                  
                                             
                                    em.persist(entA);
                                          }
                                          
                                  
                                         
                                    em.getTransaction().commit();
                                         
                                    em.close();
                                         
                                    emf.close();
                                          
                                  
                                          emf
                                    =
                                    javax.persistence.Persistence.createEntityManagerFactory("testpu");
                                          em =
                                    emf.createEntityManager();
                                         
                                  
                                         
                                    Query q = em.createQuery("SELECT b
                                      from ECL295EntB b");
                                         
                                    q.setHint(QueryHints.BATCH
                                    , "b.entACollection");
                                          
                                  
                                         
                                    List<ECL295EntB> resultSet = q.getResultList();
                                         
                                    assertNotNull(resultSet);
                                          
                                  
                                         
                                    ECL295EntB entB_find =
                                    resultSet.get(0); // 
                                      em.find(ECL295EntB.class, 1);
                                         
                                    assertNotNull(entB_find);
                                         
                                  
                                          boolean
                                    containsTarget =
                                    entB_find.getEntACollection().containsKey("EntA-1");
                                         
                                    assertTrue(containsTarget);
                                          
                                  
                                         
                                    assertEquals(10,
                                    entB_find.getEntACollection().size());
                                         
                                      }
                                  ...