/** * Get a class name, using query language imports * * @deprecated Use {@link Metamodel#getImportedClassName(java.lang.String)} instead */ @Deprecated default String getImportedClassName(String name) { return getMetamodel().getImportedClassName( name ); } }
/** * Given a (potentially unqualified) class name, locate its imported qualified name. * * @param className The potentially unqualified class name * * @return The qualified class name. */ public String getImportedClassName(String className) { return sfi.getMetamodel().getImportedClassName( className ); }
public static String getImportedClass(String name, SessionFactoryImplementor factory) { return factory.getMetamodel().getImportedClassName( name ); } }
/** * Given a (potentially unqualified) class name, locate its persister. * * @param sfi The session factory implementor. * @param className The (potentially unqualified) class name. * * @return The defined persister for this class, or null if none found. */ public static Queryable findQueryableUsingImports(SessionFactoryImplementor sfi, String className) { final String importedClassName = sfi.getMetamodel().getImportedClassName( className ); if ( importedClassName == null ) { return null; } try { return (Queryable) sfi.getMetamodel().entityPersister( importedClassName ); } catch ( MappingException me ) { return null; } }
/** * Locate the persister by class or entity name. * * @param name The class or entity name * * @return The defined persister for this entity, or null if none found. * * @throws MappingException */ public EntityPersister findEntityPersisterByName(String name) throws MappingException { // First, try to get the persister using the given name directly. EntityPersister persister = sfi.getMetamodel().entityPersisters().get( name ); if ( persister != null ) { return persister; } // If that didn't work, try using the 'import' name. String importedClassName = sfi.getMetamodel().getImportedClassName( name ); if ( importedClassName == null ) { return null; } return sfi.getMetamodel().entityPersister( importedClassName ); }
Queryable getEntityPersisterUsingImports(String className) { final String importedClassName = getFactory().getMetamodel().getImportedClassName( className ); if ( importedClassName == null ) { return null; } try { return (Queryable) getFactory().getMetamodel().entityPersister( importedClassName ); } catch (MappingException me) { return null; } }
@SuppressWarnings("unchecked") public static <T, S extends T> ManagedTypeDescriptor<S> resolveSubType( ManagedTypeDescriptor<T> baseType, String subTypeName, SessionFactoryImplementor sessionFactory) { final MetamodelImplementor metamodel = sessionFactory.getMetamodel(); if ( baseType instanceof EmbeddedTypeDescriptor<?> ) { // todo : at least validate the string is a valid sub-type of the embeddable class? return (ManagedTypeDescriptor) baseType; } final String importedClassName = metamodel.getImportedClassName( subTypeName ); if ( importedClassName != null ) { // first, try to find it by name directly.. ManagedTypeDescriptor<S> subManagedType = metamodel.entity( importedClassName ); if ( subManagedType != null ) { return subManagedType; } // it could still be a mapped-superclass try { final Class<S> subTypeClass = sessionFactory.getServiceRegistry() .getService( ClassLoaderService.class ) .classForName( importedClassName ); return metamodel.managedType( subTypeClass ); } catch (Exception ignore) { } } throw new IllegalArgumentException( "Unknown sub-type name (" + baseType.getName() + ") : " + subTypeName ); }
for ( org.hibernate.mapping.FetchProfile.Fetch mappingFetch : mappingProfile.getFetches() ) { final String entityName = metamodel.getImportedClassName( mappingFetch.getEntity() ); final EntityPersister owner = entityName == null ? null
@Override public Class<?> getClassFromName(String entityName) { return classLoaderService.classForName( sessionFactory.getMetamodel().getImportedClassName( entityName ) ); } }