if (jars.size() > 0) {
URL[] jarUrls = getUrls(jars);
classLoaderToUse = new ChildFirstClassLoader(jarUrls, Main.class.getClassLoader());
}
ObjectCollectionSerializer serializer = new ObjectCollectionSerializer();
EntityManager em = null;
ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(classLoaderToUse);
em = getEntityManager(driverClass, dialect, connectionUrl, username, password, persistenceUnit);
em.getTransaction().begin();
for (String query : queries) {
log.info("Executing query: " + query);
Query q = em.createQuery(query);
@SuppressWarnings("unchecked")
List<Object> results = q.getResultList();
for(Object result : results) {
HibernateDetachUtility.nullOutUninitializedFields(result, HibernateDetachUtility.SerializationType.SERIALIZATION);
}
serializer.addObjects(results);
}
em.close();
} finally {
Thread.currentThread().setContextClassLoader(contextClassLoader);
}
serializer.serialize(System.out);
}