List of usage examples for org.hibernate.boot MetadataSources getServiceRegistry
public ServiceRegistry getServiceRegistry()
From source file:org.teiid.spring.autoconfigure.SchemaBuilderUtility.java
License:Apache License
public void generateVBLSchema(ApplicationContext context, MetadataFactory source, MetadataFactory target, Dialect dialect, MetadataSources metadataSources) { generateVBLSchema(source, target);/*ww w. j a v a2 s . co m*/ StandardServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder( (BootstrapServiceRegistry) metadataSources.getServiceRegistry()) .applySetting(AvailableSettings.DIALECT, dialect).build(); ArtifactCollector files = generateHibernateModel(source, serviceRegistry); for (File f : files.getFiles("hbm.xml")) { metadataSources.addFile(f); } }
From source file:org.teiid.spring.autoconfigure.SchemaBuilderUtility.java
License:Apache License
public static Metadata generateHbmModel(ConnectionProvider provider, Dialect dialect) throws SQLException { MetadataSources metadataSources = new MetadataSources(); ServiceRegistry registry = metadataSources.getServiceRegistry(); StandardServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder( (BootstrapServiceRegistry) registry).applySetting(AvailableSettings.DIALECT, TeiidDialect.class) .addService(ConnectionProvider.class, provider).addService(JdbcEnvironment.class, new JdbcEnvironmentImpl(provider.getConnection().getMetaData(), dialect)) .build();// ww w .j a v a 2 s . c o m ReverseEngineeringStrategy strategy = new DefaultReverseEngineeringStrategy(); MetadataBuildingOptions options = new MetadataBuildingOptionsImpl(serviceRegistry); BasicTypeRegistry basicTypeRegistry = new BasicTypeRegistry(); TypeResolver typeResolver = new TypeResolver(basicTypeRegistry, new TypeFactory()); InFlightMetadataCollectorImpl metadataCollector = new InFlightMetadataCollectorImpl(options, typeResolver); MetadataBuildingContext buildingContext = new MetadataBuildingContextRootImpl(options, null, metadataCollector); JDBCBinder binder = new JDBCBinder(serviceRegistry, new Properties(), buildingContext, strategy, false); Metadata metadata = metadataCollector.buildMetadataInstance(buildingContext); binder.readFromDatabase(null, null, buildMapping(metadata)); HibernateMappingExporter exporter = new HibernateMappingExporter() { @Override protected Metadata getMetadata() { return metadata; } }; exporter.start(); return metadata; }