List of usage examples for org.hibernate.mapping UnionSubclass getEntityPersisterClass
public Class getEntityPersisterClass()
From source file:org.codehaus.groovy.grails.orm.hibernate.cfg.AbstractGrailsDomainBinder.java
License:Apache License
public void bindUnionSubclass(GrailsDomainClass subClass, UnionSubclass unionSubclass, Mappings mappings, String sessionFactoryBeanName) throws MappingException { Mapping subMapping = getMapping(subClass.getClazz()); if (unionSubclass.getEntityPersisterClass() == null) { unionSubclass.getRootClass().setEntityPersisterClass(UnionSubclassEntityPersister.class); }/*from w ww . j a va2 s . c o m*/ String schema = subMapping != null && subMapping.getTable().getSchema() != null ? subMapping.getTable().getSchema() : null; String catalog = subMapping != null && subMapping.getTable().getCatalog() != null ? subMapping.getTable().getCatalog() : null; Table denormalizedSuperTable = unionSubclass.getSuperclass().getTable(); Table mytable = mappings.addDenormalizedTable(schema, catalog, getTableName(subClass, sessionFactoryBeanName), unionSubclass.isAbstract() != null && unionSubclass.isAbstract(), null, denormalizedSuperTable); unionSubclass.setTable(mytable); unionSubclass.setClassName(subClass.getFullName()); LOG.info("Mapping union-subclass: " + unionSubclass.getEntityName() + " -> " + unionSubclass.getTable().getName()); createClassProperties(subClass, unionSubclass, mappings, sessionFactoryBeanName); }
From source file:org.grails.orm.hibernate.cfg.AbstractGrailsDomainBinder.java
License:Apache License
public void bindUnionSubclass(HibernatePersistentEntity subClass, UnionSubclass unionSubclass, Mappings mappings, String sessionFactoryBeanName) throws MappingException { Mapping subMapping = getMapping(subClass.getJavaClass()); if (unionSubclass.getEntityPersisterClass() == null) { unionSubclass.getRootClass().setEntityPersisterClass(UnionSubclassEntityPersister.class); }/*from w w w .j av a2 s . com*/ String schema = subMapping != null && subMapping.getTable().getSchema() != null ? subMapping.getTable().getSchema() : null; String catalog = subMapping != null && subMapping.getTable().getCatalog() != null ? subMapping.getTable().getCatalog() : null; Table denormalizedSuperTable = unionSubclass.getSuperclass().getTable(); Table mytable = mappings.addDenormalizedTable(schema, catalog, getTableName(subClass, sessionFactoryBeanName), unionSubclass.isAbstract() != null && unionSubclass.isAbstract(), null, denormalizedSuperTable); unionSubclass.setTable(mytable); unionSubclass.setClassName(subClass.getName()); LOG.info("Mapping union-subclass: " + unionSubclass.getEntityName() + " -> " + unionSubclass.getTable().getName()); createClassProperties(subClass, unionSubclass, mappings, sessionFactoryBeanName); }
From source file:org.grails.orm.hibernate.cfg.GrailsDomainBinder.java
License:Apache License
public void bindUnionSubclass(HibernatePersistentEntity subClass, UnionSubclass unionSubclass, InFlightMetadataCollector mappings, String sessionFactoryBeanName) throws MappingException { Mapping subMapping = getMapping(subClass.getJavaClass()); if (unionSubclass.getEntityPersisterClass() == null) { unionSubclass.getRootClass().setEntityPersisterClass(UnionSubclassEntityPersister.class); }//from ww w. ja v a 2s . c om String schema = subMapping != null && subMapping.getTable().getSchema() != null ? subMapping.getTable().getSchema() : null; String catalog = subMapping != null && subMapping.getTable().getCatalog() != null ? subMapping.getTable().getCatalog() : null; Table denormalizedSuperTable = unionSubclass.getSuperclass().getTable(); Table mytable = mappings.addDenormalizedTable(schema, catalog, getTableName(subClass, sessionFactoryBeanName), unionSubclass.isAbstract() != null && unionSubclass.isAbstract(), null, denormalizedSuperTable); unionSubclass.setTable(mytable); unionSubclass.setClassName(subClass.getName()); LOG.info("Mapping union-subclass: " + unionSubclass.getEntityName() + " -> " + unionSubclass.getTable().getName()); createClassProperties(subClass, unionSubclass, mappings, sessionFactoryBeanName); }