public MetamodelImplementor scope(SessionFactoryImplementor sessionFactory) { log.debugf( "Scoping TypeConfiguration [%s] to SessionFactoryImpl [%s]", this, sessionFactory ); for ( Map.Entry<String, String> importEntry : scope.metadataBuildingContext.getMetadataCollector().getImports().entrySet() ) { if ( importMap.containsKey( importEntry.getKey() ) ) { continue; } importMap.put( importEntry.getKey(), importEntry.getValue() ); } scope.setSessionFactory( sessionFactory ); sessionFactory.addObserver( this ); return new MetamodelImpl( sessionFactory, this ); }
@Override public Identifier handleExplicitName( String explicitName, MetadataBuildingContext buildingContext) { return buildingContext.getMetadataCollector().getDatabase().toIdentifier( explicitName ); }
void addIndex(String indexName, boolean inSecondPass) { IndexOrUniqueKeySecondPass secondPass = new IndexOrUniqueKeySecondPass( indexName, this, context, false ); if ( inSecondPass ) { secondPass.doSecondPass( context.getMetadataCollector().getEntityBindingMap() ); } else { context.getMetadataCollector().addSecondPass( secondPass ); } }
private void registerDelayedPropertyReferenceHandler( DelayedPropertyReferenceHandlerImpl handler, MetadataBuildingContext buildingContext) { log.tracef( "Property [%s.%s] referenced by property-ref [%s] was not yet available - creating delayed handler", handler.referencedEntityName, handler.referencedPropertyName, handler.sourceElementSynopsis ); buildingContext.getMetadataCollector().addDelayedPropertyReferenceHandler( handler ); }
protected Database database() { if ( database == null ) { database = getBuildingContext().getMetadataCollector().getDatabase(); } return database; }
public static void bindSqlResultSetMapping( SqlResultSetMapping ann, MetadataBuildingContext context, boolean isDefault) { //no need to handle inSecondPass context.getMetadataCollector().addSecondPass( new ResultsetMappingSecondPass( ann, context, isDefault ) ); }
void addUniqueKey(String uniqueKeyName, boolean inSecondPass) { IndexOrUniqueKeySecondPass secondPass = new IndexOrUniqueKeySecondPass( uniqueKeyName, this, context, true ); if ( inSecondPass ) { secondPass.doSecondPass( context.getMetadataCollector().getEntityBindingMap() ); } else { context.getMetadataCollector().addSecondPass( secondPass ); } }
private void processNamedEntityGraph(NamedEntityGraph annotation) { if ( annotation == null ) { return; } context.getMetadataCollector().addNamedEntityGraph( new NamedEntityGraphDefinition( annotation, name, persistentClass.getEntityName() ) ); }
public static void bindSqlResultSetMappings( SqlResultSetMappings ann, MetadataBuildingContext context, boolean isDefault) { if ( ann == null ) { return; } for (SqlResultSetMapping rs : ann.value()) { //no need to handle inSecondPass context.getMetadataCollector().addSecondPass( new ResultsetMappingSecondPass( rs, context, true ) ); } }
@Override public Identifier handleExplicitName(String explicitName, MetadataBuildingContext buildingContext) { return buildingContext.getMetadataCollector() .getDatabase() .getJdbcEnvironment() .getIdentifierHelper() .toIdentifier( explicitName ); }
private Identifier toIdentifier(String tableName) { return buildingContext.getMetadataCollector() .getDatabase() .getJdbcEnvironment() .getIdentifierHelper() .toIdentifier( tableName ); }
public ModelBinder(final MetadataBuildingContext context) { this.metadataBuildingContext = context; this.database = context.getMetadataCollector().getDatabase(); this.objectNameNormalizer = new ObjectNameNormalizer() { @Override protected MetadataBuildingContext getBuildingContext() { return context; } }; this.implicitNamingStrategy = context.getBuildingOptions().getImplicitNamingStrategy(); this.relationalObjectBinder = new RelationalObjectBinder( context ); }
@Override public Identifier handleExplicitName(String explicitName, MetadataBuildingContext buildingContext) { return buildingContext.getMetadataCollector() .getDatabase() .getJdbcEnvironment() .getIdentifierHelper() .toIdentifier( explicitName ); }
private static void bindFilterDef(FilterDef defAnn, MetadataBuildingContext context) { Map<String, org.hibernate.type.Type> params = new HashMap<>(); for ( ParamDef param : defAnn.parameters() ) { params.put( param.name(), context.getMetadataCollector().getTypeResolver().heuristicType( param.type() ) ); } FilterDefinition def = new FilterDefinition( defAnn.name(), defAnn.defaultCondition(), params ); LOG.debugf( "Binding filter definition: %s", def.getFilterName() ); context.getMetadataCollector().addFilterDefinition( def ); }
@Override public Identifier toPhysicalName(Identifier logicalName, MetadataBuildingContext buildingContext) { return buildingContext.getBuildingOptions().getPhysicalNamingStrategy().toPhysicalTableName( logicalName, buildingContext.getMetadataCollector().getDatabase().getJdbcEnvironment() ); } }
@Override public Identifier toPhysicalName(Identifier logicalName, MetadataBuildingContext buildingContext) { return buildingContext.getBuildingOptions().getPhysicalNamingStrategy().toPhysicalTableName( logicalName, buildingContext.getMetadataCollector().getDatabase().getJdbcEnvironment() ); } };
@Override public Identifier toPhysicalName(Identifier logicalName, MetadataBuildingContext buildingContext) { return buildingContext.getBuildingOptions().getPhysicalNamingStrategy().toPhysicalTableName( logicalName, buildingContext.getMetadataCollector().getDatabase().getJdbcEnvironment() ); } }
private static void bindAnyMetaDef(AnyMetaDef defAnn, MetadataBuildingContext context) { if ( isEmptyAnnotationValue( defAnn.name() ) ) { //don't map not named definitions return; } if ( LOG.isDebugEnabled() ) { LOG.debugf( "Binding Any Meta definition: %s", defAnn.name() ); } context.getMetadataCollector().addAnyMetaDef( defAnn ); }
private void addPropertyToMappedSuperclass(Property prop, XClass declaringClass) { final Class type = getContext().getBootstrapContext().getReflectionManager().toClass( declaringClass ); MappedSuperclass superclass = getContext().getMetadataCollector().getMappedSuperclass( type ); superclass.addDeclaredProperty( prop ); }
private String getCondition(String cond, String name) { if ( BinderHelper.isEmptyAnnotationValue( cond ) ) { cond = buildingContext.getMetadataCollector().getFilterDefinition( name ).getDefaultFilterCondition(); if ( StringHelper.isEmpty( cond ) ) { throw new AnnotationException( "no filter condition found for filter " + name + " in " + StringHelper.qualify( propertyHolder.getPath(), propertyName ) ); } } return cond; }