Skip to content

Instantly share code, notes, and snippets.

@tyagiakhilesh
Created May 1, 2019 16:49
Show Gist options
  • Save tyagiakhilesh/8baa5bb3e139b2e04b06d3df86f45790 to your computer and use it in GitHub Desktop.
Save tyagiakhilesh/8baa5bb3e139b2e04b06d3df86f45790 to your computer and use it in GitHub Desktop.
package com.edbot.console.modal.dao;
import com.github.fluent.hibernate.cfg.scanner.EntityScanner;
import org.hibernate.SessionFactory;
import org.hibernate.boot.Metadata;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.model.naming.ImplicitNamingStrategyJpaCompliantImpl;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import java.util.List;
import java.util.Map;
public class BaseDaoTest {
protected static SessionFactory buildSessionJavaConfigFactory(final Map<String, String> props, final String... packages) {
StandardServiceRegistry standardRegistry = new StandardServiceRegistryBuilder()
.applySettings(props)
.build();
List<Class<?>> models = EntityScanner.scanPackages(packages).result();
final MetadataSources metadataSources = new MetadataSources(standardRegistry);
for (final Class aClass : models) {
metadataSources.addAnnotatedClass(aClass);
}
Metadata metadata = metadataSources
.getMetadataBuilder()
.applyImplicitNamingStrategy(ImplicitNamingStrategyJpaCompliantImpl.INSTANCE)
.build();
SessionFactory sessionFactory = metadata.getSessionFactoryBuilder()
.build();
return sessionFactory;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment