org.hibernate.boot.MetadataBuilder类的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(9.6k)|赞(0)|评价(0)|浏览(192)

本文整理了Java中org.hibernate.boot.MetadataBuilder类的一些代码示例,展示了MetadataBuilder类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。MetadataBuilder类的具体详情如下:
包路径:org.hibernate.boot.MetadataBuilder
类名称:MetadataBuilder

MetadataBuilder介绍

[英]Contract for specifying various overrides to be used in metamodel building.
[中]指定元模型构建中使用的各种覆盖的合同。

代码示例

代码示例来源:origin: hibernate/hibernate-orm

private static MetadataImplementor buildMetadata(
    CommandLineArgs parsedArgs,
    StandardServiceRegistry serviceRegistry) throws Exception {
  final MetadataSources metadataSources = new MetadataSources(serviceRegistry);
  for ( String filename : parsedArgs.hbmXmlFiles ) {
    metadataSources.addFile( filename );
  }
  for ( String filename : parsedArgs.jarFiles ) {
    metadataSources.addJar( new File( filename ) );
  }
  final MetadataBuilder metadataBuilder = metadataSources.getMetadataBuilder();
  final StrategySelector strategySelector = serviceRegistry.getService( StrategySelector.class );
  if ( parsedArgs.implicitNamingStrategy != null ) {
    metadataBuilder.applyImplicitNamingStrategy(
        strategySelector.resolveStrategy( ImplicitNamingStrategy.class, parsedArgs.implicitNamingStrategy )
    );
  }
  if ( parsedArgs.physicalNamingStrategy != null ) {
    metadataBuilder.applyPhysicalNamingStrategy(
        strategySelector.resolveStrategy( PhysicalNamingStrategy.class, parsedArgs.physicalNamingStrategy )
    );
  }
  return (MetadataImplementor) metadataBuilder.build();
}

代码示例来源:origin: hibernate/hibernate-orm

final MetadataBuilder metadataBuilder = metadataSources.getMetadataBuilder( (StandardServiceRegistry) serviceRegistry );
if ( implicitNamingStrategy != null ) {
  metadataBuilder.applyImplicitNamingStrategy( implicitNamingStrategy );
  metadataBuilder.applyPhysicalNamingStrategy( physicalNamingStrategy );
  metadataBuilder.applySharedCacheMode( sharedCacheMode );
    metadataBuilder.applyTypes( typeContributor );
    metadataBuilder.applyBasicType( basicType );
    metadataBuilder.applySqlFunction( entry.getKey(), entry.getValue() );
    metadataBuilder.applyAuxiliaryDatabaseObject( auxiliaryDatabaseObject );
    metadataBuilder.applyAttributeConverter( attributeConverterDefinition );
final Metadata metadata = metadataBuilder.build();

代码示例来源:origin: hibernate/hibernate-orm

protected void initialize(MetadataBuilder metadataBuilder) {
  metadataBuilder.enableNewIdentifierGeneratorSupport( true );
  metadataBuilder.applyImplicitNamingStrategy( ImplicitNamingStrategyLegacyJpaImpl.INSTANCE );
}

代码示例来源:origin: hibernate/hibernate-orm

@Override
protected void configureMetadataBuilder(MetadataBuilder metadataBuilder) {
  metadataBuilder.applyImplicitNamingStrategy( (ImplicitNamingStrategy) TestNamingStrategy.INSTANCE );
  metadataBuilder.applyPhysicalNamingStrategy( (PhysicalNamingStrategy) TestNamingStrategy.INSTANCE );
}

代码示例来源:origin: hibernate/hibernate-orm

@Test
public void testWithJpaCompliantNamingStrategy() throws Exception {
  Metadata metadata = new MetadataSources( serviceRegistry )
      .addAnnotatedClass( A.class )
      .addAnnotatedClass( AddressEntry.class )
      .getMetadataBuilder()
      .applyImplicitNamingStrategy( ImplicitNamingStrategyJpaCompliantImpl.INSTANCE )
      .build();
  Collection collectionBinding = metadata.getCollectionBinding( A.class.getName() + ".address" );
  assertEquals(
      "Expecting A#address collection table name (implicit) to be [A_address] per JPA spec (section 11.1.8)",
      "A_ADDRESS",
      collectionBinding.getCollectionTable().getQuotedName().toUpperCase(Locale.ROOT)
  );
}

代码示例来源:origin: hibernate/hibernate-orm

/**
 * Short-hand form of calling {@link #getMetadataBuilder()} and using its
 * {@link org.hibernate.boot.MetadataBuilder#build()} method in cases where the application wants
 * to accept the defaults.
 *
 * @return The built metadata.
 */
public Metadata buildMetadata() {
  return getMetadataBuilder().build();
}

代码示例来源:origin: hibernate/hibernate-orm

@Test
public void testHbmXmlHandling() {
  final Metadata metadata = new MetadataSources( ssr )
      .addResource( "org/hibernate/test/namingstrategy/synchronizedTables/mapping.hbm.xml" )
      .getMetadataBuilder()
      .applyPhysicalNamingStrategy( TestingPhysicalNamingStrategy.INSTANCE )
      .build();
  verify( metadata.getEntityBinding( DynamicEntity.class.getName() ) );
}

代码示例来源:origin: hibernate/hibernate-orm

@Test
public void testNonAutoApplyHandling() {
  final StandardServiceRegistry ssr = new StandardServiceRegistryBuilder().build();
  try {
    MetadataImplementor metadata = (MetadataImplementor) new MetadataSources( ssr )
        .addAnnotatedClass( Tester.class )
        .getMetadataBuilder()
        .applyAttributeConverter( NotAutoAppliedConverter.class, false )
        .build();
    PersistentClass tester = metadata.getEntityBinding( Tester.class.getName() );
    Property nameProp = tester.getProperty( "name" );
    SimpleValue nameValue = (SimpleValue) nameProp.getValue();
    Type type = nameValue.getType();
    assertNotNull( type );
    if ( AttributeConverterTypeAdapter.class.isInstance( type ) ) {
      fail( "AttributeConverter with autoApply=false was auto applied" );
    }
  }
  finally {
    StandardServiceRegistryBuilder.destroy( ssr );
  }
}

代码示例来源:origin: hibernate/hibernate-orm

metadataBuilder.applyImplicitNamingStrategy(
  ImplicitNamingStrategyJpaCompliantImpl.INSTANCE );
metadataBuilder.applyImplicitSchemaName( "my_default_schema" );
metadataBuilder.applyAttributeConverter( myAttributeConverter );
Metadata metadata = metadataBuilder.build();

代码示例来源:origin: jooby-project/jooby

.applyImplicitNamingStrategy(ImplicitNamingStrategyJpaCompliantImpl.INSTANCE)
.applyScanEnvironment(new ScanEnvImpl(packages))
.build();

代码示例来源:origin: hibernate/hibernate-orm

@Override
protected void configureMetadataBuilder(MetadataBuilder metadataBuilder) {
  metadataBuilder.applyImplicitNamingStrategy( ImplicitNamingStrategyLegacyHbmImpl.INSTANCE );
}

代码示例来源:origin: vladmihalcea/high-performance-java-persistence

metadataBuilder.enableNewIdentifierGeneratorSupport(true);
metadataBuilder.applyImplicitNamingStrategy(ImplicitNamingStrategyLegacyJpaImpl.INSTANCE);
    metadataBuilder.applyTypes((typeContributions, serviceRegistry1) -> {
      if(type instanceof BasicType) {
        typeContributions.contributeType((BasicType) type);
MetadataImplementor metadata = (MetadataImplementor) metadataBuilder.build();

代码示例来源:origin: com.atlassian.hibernate/hibernate.adapter

/**
 * Get the v5 Metadata object.
 */
public synchronized Metadata getMetadata() throws HibernateException {
  if (metadata != null) {
    return metadata;
  }
  final org.hibernate.cfg.Configuration configV5 = getConfigurationV5();
  final StandardServiceRegistry serviceRegistry = buildServiceRegistry(configV5);
  mapDialectObjects(serviceRegistry);
  final MetadataBuilder metadataBuilder = metadataSources.getMetadataBuilder(serviceRegistry);
  metadataBuilder.applyTypes(new V2ToV5TypeContributor(this));
  if (useV2PostgresSchemaNamingStrategy()) {
    metadataBuilder.applyImplicitNamingStrategy(V2_POSTGRES_NAMING_STRATEGY);
  }
  metadata = metadataBuilder.build();
  updateV5MetaData(metadata);
  return metadata;
}

代码示例来源:origin: hibernate/hibernate-orm

final TypeContributor[] typeContributors = osgiServiceUtil.getServiceImpls( TypeContributor.class );
for ( TypeContributor typeContributor : typeContributors ) {
  metadataBuilder.applyTypes( typeContributor );
return metadataBuilder.build().buildSessionFactory();

代码示例来源:origin: hibernate/hibernate-orm

@Test
public void testCollectionAsBasic() {
  StandardServiceRegistry ssr = new StandardServiceRegistryBuilder().build();
  try {
    Metadata metadata = new MetadataSources(ssr).addAnnotatedClass( Post.class )
        .getMetadataBuilder().applyBasicType( new DelimitedStringsType() )
        .build();
    PersistentClass postBinding = metadata.getEntityBinding( Post.class.getName() );
    Property tagsAttribute = postBinding.getProperty( "tags" );
  }
  finally {
    StandardServiceRegistryBuilder.destroy( ssr );
  }
}

代码示例来源:origin: hibernate/hibernate-orm

@Test
  @TestForIssue( jiraKey = "HHH-9913" )
  public void testNonAggregatedCompositeIdWithPkClass() {
    // HHH-9913 reports a NPE when bootstrapping a SF with non-aggregated composite identifiers
    // in org.hibernate.cache.internal.CacheDataDescriptionImpl#decode
    StandardServiceRegistry ssr = new StandardServiceRegistryBuilder().build();

    try {
      new MetadataSources( ssr )
          .addAnnotatedClass( ItWithPkClass.class )
          .getMetadataBuilder()
          .applySharedCacheMode( SharedCacheMode.ENABLE_SELECTIVE )
          .build()
          .buildSessionFactory();
    }
    finally {
      StandardServiceRegistryBuilder.destroy( ssr );
    }
  }
}

代码示例来源:origin: hibernate/hibernate-orm

@Test
  public void testPropertyBasedDiscriminatorForcing() throws Exception {
    final StandardServiceRegistry ssr = new StandardServiceRegistryBuilder().build();

    try {
      Metadata metadata = new MetadataSources( ssr )
          .addAnnotatedClass( BaseClass2.class )
          .addAnnotatedClass( SubClass2.class )
          .getMetadataBuilder()
          .enableImplicitForcingOfDiscriminatorsInSelect( true )
          .build();

      PersistentClass persistentClass = metadata.getEntityBinding( BaseClass2.class.getName() );
      assertNotNull( persistentClass );
      assertTrue( persistentClass instanceof RootClass );

      RootClass root = ( RootClass ) persistentClass;
      assertTrue( "Discriminator should be forced by property", root.isForceDiscriminator() );
    }
    finally {
      StandardServiceRegistryBuilder.destroy( ssr );
    }
  }
}

代码示例来源:origin: hibernate/hibernate-orm

@Override
  public void contribute(MetadataBuilder metadataBuilder) {
    metadataBuilder.applySqlFunction(
      "instr", new StandardSQLFunction( "instr", StandardBasicTypes.STRING )
    );
  }
}

代码示例来源:origin: liquibase/liquibase-hibernate

protected void configurePhysicalNamingStrategy(String physicalNamingStrategy, MetadataBuilder builder) throws DatabaseException {
  String namingStrategy;
  namingStrategy = getHibernateConnection().getProperties().getProperty(AvailableSettings.PHYSICAL_NAMING_STRATEGY, physicalNamingStrategy);
  try {
    if (namingStrategy != null) {
      builder.applyPhysicalNamingStrategy((PhysicalNamingStrategy) Class.forName(namingStrategy).newInstance());
    }
  } catch (Exception e) {
    throw new DatabaseException(e);
  }
}

代码示例来源:origin: hibernate/hibernate-orm

@Override
protected void addConfigOptions(Map options) {
  options.put(
      EntityManagerFactoryBuilderImpl.METADATA_BUILDER_CONTRIBUTOR,
      (MetadataBuilderContributor) metadataBuilder ->
          metadataBuilder.applyAttributeConverter( YearMonthAttributeConverter.class )
  );
}

相关文章