List of usage examples for org.hibernate.persister.entity SingleTableEntityPersister getSubclassClosure
public String[] getSubclassClosure()
From source file:com.blazebit.persistence.integration.hibernate.base.HibernateJpaProvider.java
License:Apache License
@Override public boolean isColumnShared(EntityType<?> ownerType, String attributeName) { AbstractEntityPersister persister = getEntityPersister(ownerType); if (!(persister instanceof SingleTableEntityPersister) && !(persister instanceof UnionSubclassEntityPersister)) { return false; }/*from w w w . j a v a2 s . co m*/ if (persister instanceof SingleTableEntityPersister) { SingleTableEntityPersister singleTableEntityPersister = (SingleTableEntityPersister) persister; SingleTableEntityPersister rootPersister = (SingleTableEntityPersister) entityPersisters .get(singleTableEntityPersister.getRootEntityName()); return isColumnShared(singleTableEntityPersister, rootPersister.getName(), rootPersister.getSubclassClosure(), attributeName); } else if (persister instanceof UnionSubclassEntityPersister) { UnionSubclassEntityPersister unionSubclassEntityPersister = (UnionSubclassEntityPersister) persister; UnionSubclassEntityPersister rootPersister = (UnionSubclassEntityPersister) entityPersisters .get(unionSubclassEntityPersister.getRootEntityName()); return isColumnShared(unionSubclassEntityPersister, rootPersister.getName(), rootPersister.getSubclassClosure(), attributeName); } return false; }
From source file:ubic.gemma.persistence.util.CommonQueries.java
License:Apache License
public static void addSubclasses(List<String> classes, SingleTableEntityPersister classMetadata) { if (classMetadata.hasSubclasses()) { String[] subclasses = classMetadata.getSubclassClosure(); // this includes the superclass, fully qualified // names. classes.clear();/*from ww w. jav a2s .c o m*/ for (String string : subclasses) { string = string.replaceFirst(".+\\.", ""); classes.add(string); } } }