hibernate 5 SessionFactoryを作成する3つの方法をまとめることができます(親測定)

1676 ワード

1つ目:hibernate 4.0の前は同じで、一言だけ必要です.
SessionFactory factory = cfg.buildSessionFactory();

2つ目:ちょっと面倒
StandardServiceRegistry standardServiceRegistry = new StandardServiceRegistryBuilder().configure().build();
       Metadata metadata = new MetadataSources(standardServiceRegistry).getMetadataBuilder()
               .applyImplicitNamingStrategy(ImplicitNamingStrategyComponentPathImpl.INSTANCE).build();
       SessionFactory factory = metadata.getSessionFactoryBuilder().build();

3つ目は、公式サイトでダウンロードしたhibernate 5にuser-guideドキュメントの説明があるので、公式に書くと間違いないはずです.
これはドキュメントディレクトリです:hibernate-release-5.4.4.Final\documentation\userguide\html_single\Hibernate_User_Guide.html
protected void setUp() throws Exception {
	// A SessionFactory is set up once for an application!
	final StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
			.configure() // configures settings from hibernate.cfg.xml
			.build();
	try {
		sessionFactory = new MetadataSources( registry ).buildMetadata().buildSessionFactory();
	}
	catch (Exception e) {
		// The registry would be destroyed by the SessionFactory, but we had trouble building the SessionFactory
		// so destroy it manually.
		StandardServiceRegistryBuilder.destroy( registry );
	}
}

以下は上の簡略版です.
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build();
        SessionFactory factory = new MetadataSources(serviceRegistry).buildMetadata().buildSessionFactory();

最後にセッションを作成:セッションセッション=factory.openSession();
SessionFactoryを作成するには、3つの方法があります.