From: Andreas Müller Date: Tue, 5 Nov 2013 22:56:05 +0000 (+0000) Subject: some updates to advanced bean initialization X-Git-Tag: cdmlib-parent-3.3.0~177 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/cdmlib.git/commitdiff_plain/78194a2fe8aa66b51d50c8677da8670e7233c4d9 some updates to advanced bean initialization --- diff --git a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/initializer/AdvancedBeanInitializer.java b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/initializer/AdvancedBeanInitializer.java index 33a0972fd2..500ebd9aa1 100644 --- a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/initializer/AdvancedBeanInitializer.java +++ b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/initializer/AdvancedBeanInitializer.java @@ -412,6 +412,7 @@ public class AdvancedBeanInitializer extends HibernateBeanInitializer { if (newBean instanceof HibernateProxy){ newBean = initializeInstance(newBean); } + autoinitializeBean(newBean); node.addBean(newBean); } if (logger.isDebugEnabled()){logger.debug("bulk load " + node + " collections - DONE");} diff --git a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/initializer/AnnotationTypeAutoInitializer.java b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/initializer/AnnotationTypeAutoInitializer.java index a1fc4d6805..4e95fea8ae 100644 --- a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/initializer/AnnotationTypeAutoInitializer.java +++ b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/initializer/AnnotationTypeAutoInitializer.java @@ -26,5 +26,10 @@ public class AnnotationTypeAutoInitializer extends AutoPropertyInitializer clazz, String beanAlias){ + return String.format(" LEFT JOIN FETCH %s.annotationType ", beanAlias); + } } diff --git a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/initializer/MarkerTypeAutoInitializer.java b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/initializer/MarkerTypeAutoInitializer.java index 3f1afc3ca6..173e1a4d95 100644 --- a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/initializer/MarkerTypeAutoInitializer.java +++ b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/initializer/MarkerTypeAutoInitializer.java @@ -26,5 +26,10 @@ public class MarkerTypeAutoInitializer extends AutoPropertyInitializer { public void initialize(Marker bean) { beanInitializer.initializeInstance(bean.getMarkerType()); } + + @Override + public String hibernateFetchJoin(Class clazz, String beanAlias){ + return String.format(" LEFT JOIN FETCH %s.markerType ", beanAlias); + } } diff --git a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/initializer/MediaAutoInitializer.java b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/initializer/MediaAutoInitializer.java index 68d0deaa43..e0f0853230 100644 --- a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/initializer/MediaAutoInitializer.java +++ b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/initializer/MediaAutoInitializer.java @@ -26,4 +26,10 @@ public class MediaAutoInitializer extends AutoPropertyInitializer { beanInitializer.initializeInstance(r.getParts()); } } + + + @Override + public String hibernateFetchJoin(Class clazz, String beanAlias){ + return String.format(" LEFT JOIN FETCH %s.representations r LEFT JOIN FETCH r.mediaRepresentationParts ", beanAlias); + } }