package com.vladmihalcea.book.hpjp.hibernate.metadata; import org.hibernate.boot.Metadata; import org.hibernate.boot.model.relational.Database; import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.service.spi.SessionFactoryServiceRegistry; /** * @author Vlad Mihalcea */ public class MetadataExtractorIntegrator implements org.hibernate.integrator.spi.Integrator { public static final MetadataExtractorIntegrator INSTANCE = new MetadataExtractorIntegrator(); private Database database; private Metadata metadata; public Database getDatabase() { return database; } public Metadata getMetadata() { return metadata; } @Override public void integrate( Metadata metadata, SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { this.database = metadata.getDatabase(); this.metadata = metadata; } @Override public void disintegrate( SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { } }