1
나는 HikariCP 풀 연결을 사용하려고 시도하지만 나는 모든 시간을 얻기 때문에 응용 프로그램을 시작할 수 없습니다. create sesion의 null 객체입니다. Hibernate가 HikariCP 풀을 사용하여 sessionfactory를 만들지 못함
이
내 구성입니다 :시스템
- 최대 절전 모드 4.3.6.Final
- MariaDB의 V10.0 (64)
HibernateUtil과 클래스
{} HHH000130 : 인스턴스화 명시 적 연결을 제공 : org.mariadb.jdbc 필터 세션 공장을 건설 준비public class HibernateUtil {
private static SessionFactory sessionFactory;
private static SessionFactory buildSessionFactory() {
try {
Configuration configuration = new Configuration();
configuration.configure("hibernate.cfg.xml");
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
return sessionFactory;
}
catch (HibernateException ex) {
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
if (sessionFactory == null) {
sessionFactory = buildSessionFactory();
}
return sessionFactory;
}
}
있는 hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Datos de conexión a la BD -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3307/******?zeroDateTimeBehavior=convertToNull</property>
<property name="hibernate.connection.username">****</property>
<property name="hibernate.connection.password">****</property>
<property name="javax.persistence.validation.mode">none</property>
<!-- Configuración de sesión -->
<property name="connection.release_mode">after_transaction</property>
<property name="current_session_context_class">thread</property>
<!-- Configuración de la salida SQL y estadísticas -->
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="hibernate.temp.use_jdbc_metadata_defaults">false</property>
<!-- Pool de conexiones -->
<property name="hibernate.connection.provider_class">org.mariadb.jdbc.MySQLDataSource</property>
<!-- Enable Hibernate's current session context -->
<property name="hibernate.cache.use_second_level_cache">false</property>
<property name="hibernate.cache.use_query_cache">false</property>
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
</session-factory>
</hibernate-configuration>
LOG
,451,515,.MySQLDataSource 응용 프로그램 시작 방법의 예외
당신이 HikariCP의 어떤 버전을 사용하고 어떤 자바 버전으로 제공 클래스를 변경해야 할 말? 디버그 로깅을 활성화하면 추가 정보가 기록됩니까? – brettw
디버깅 수준을 활성화합니다. (미안 해요. 사용 안 함)이 오류가 발생했습니다. 'nov 07, 2014 12:09:11 PM com.util.HibernateUtil buildSessionFactory GRAVE : org.hibernate.service.spi.ServiceException : 만들 수 없습니다. 요청 된 서비스 [org.hibernate.engine.jdbc.connections.spi.ConnectionProvider]' – Marcos
HikariCP 2.1.0과 Java 1.8.0_40-ea (b11)를 사용합니다. 응용 프로그램은 JavaFX 프로젝트입니다. 또한 MySQL Connector 5.1.33을 사용합니다. – Marcos