下面列出了怎么用org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentImpl的API类实例代码及写法,或者点击链接到github查看源代码。
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();
MetadataBuildingOptions options = new MetadataBuildingOptionsImpl(serviceRegistry);
BootstrapContext bootstrapContext = new BootstrapContextImpl( serviceRegistry, options );
ReverseEngineeringStrategy strategy = new DefaultReverseEngineeringStrategy();
InFlightMetadataCollectorImpl metadataCollector = new InFlightMetadataCollectorImpl(bootstrapContext, options);
MetadataBuildingContext buildingContext = new MetadataBuildingContextRootImpl(bootstrapContext, options,
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
public Metadata getMetadata() {
return metadata;
}
};
exporter.start();
return metadata;
}
@Override
public JdbcEnvironment initiateService(Map configurationValues, ServiceRegistryImplementor registry) {
return new JdbcEnvironmentImpl(registry, dialect);
}
@Override
public JdbcEnvironment initiateService(Map configurationValues, ServiceRegistryImplementor registry) {
return new JdbcEnvironmentImpl(registry, dialect);
}