*/\r
package eu.etaxonomy.cdm.persistence.dao.initializer;\r
\r
+import eu.etaxonomy.cdm.model.common.CdmBase;\r
+import eu.etaxonomy.cdm.model.common.RelationshipTermBase;\r
import eu.etaxonomy.cdm.model.common.TermBase;\r
\r
/**\r
\r
@Override\r
public void initialize(TermBase bean) {\r
- beanInitializer.initializeInstance(bean.getRepresentations());\r
+ beanInitializer.initializeInstance(bean.getRepresentations());\r
+ if (RelationshipTermBase.class.isAssignableFrom(bean.getClass())){\r
+ beanInitializer.initializeInstance(CdmBase.deproxy(bean, RelationshipTermBase.class).getInverseRepresentations());\r
+ }\r
}\r
- \r
+\r
@Override\r
public String hibernateFetchJoin(Class<?> clazz, String beanAlias) throws Exception{\r
- return String.format(" LEFT JOIN FETCH %s.representations ", beanAlias); \r
+ String result = String.format(" LEFT JOIN FETCH %s.representations ", beanAlias);\r
+ if (RelationshipTermBase.class.isAssignableFrom(clazz)){\r
+ result += String.format(" LEFT JOIN FETCH %s.inverseRepresentations ", beanAlias);\r
+ }\r
+ return result;\r
}\r
\r
}\r