不再与c3p0

时间:2015-08-26 13:40:27

标签: java mysql hibernate c3p0

我有连接问题,因为我决定使用c3p0池。

的persistence.xml

            <property name="hibernate.connection.url" value="jdbc:mysql://***.***.***.***:****/*****"/>
            <property name="hibernate.connection.username" value="****"/>
            <property name="hibernate.connection.password" value="****"/>
            <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
            <property name="hibernate.show_sql" value="true" />
<!--            <property name="hibernate.connection.provider_class" value="org.hibernate.c3p0.internal.C3P0ConnectionProvider" /> -->
<!--            <property name="hibernate.c3p0.min_size" value="1"/> -->
<!--            <property name="hibernate.c3p0.max_size" value="50"/> -->
<!--            <property name="hibernate.c3p0.timeout" value="10000"/> -->
<!--            <property name="hibernate.c3p0.max_statements" value="100"/> -->
<!--            <property name="hibernate.c3p0.idle_test_period" value="300"/> -->

使用此配置一切正常。当我取消注释c3p0属性时,我甚至无法连接到我的应用程序。

try {               
    user = UserDAO.connect(login,Tools.encode(password));
}
 catch (SQLException e) {   
    e.printStackTrace();
    logger.error(utils.Constants.GENERAL_ERROR);
    message=utils.Constants.LOGIN_KO;
}
finally{
//some code
}

我试着在debug中运行这段代码。我在每个区块都有一个断点。程序直接从try到last。 这是日志:

2015-08-26 15:27:50 INFO  LogHelper:46 - HHH000204: Processing PersistenceUnitInfo [
name: ****
...]
2015-08-26 15:27:53 INFO  Version:54 - HHH000412: Hibernate Core {4.3.6.Final}
2015-08-26 15:27:53 INFO  Environment:239 - HHH000206: hibernate.properties not found
2015-08-26 15:27:53 INFO  Environment:346 - HHH000021: Bytecode provider name : javassist
2015-08-26 15:27:56 INFO  Version:66 - HCANN000001: Hibernate Commons Annotations {4.0.5.Final}
2015-08-26 15:27:56 INFO  ConnectionProviderInitiator:190 - HHH000130: Instantiating explicit connection provider: org.hibernate.c3p0.internal.C3P0ConnectionProvider
2015-08-26 15:27:56 INFO  C3P0ConnectionProvider:117 - HHH010002: C3P0 using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://***.***.***.***:****/*****
2015-08-26 15:27:56 INFO  C3P0ConnectionProvider:118 - HHH000046: Connection properties: {user=****, password=****}
2015-08-26 15:27:56 INFO  C3P0ConnectionProvider:121 - HHH000006: Autocommit mode: false

我看到日志中有这一行

Environment:239 - HHH000206: hibernate.properties not found

但我不明白它来自哪里以及是否是问题的原因。 我已经看过了 how to fix the error: "INFO: HHH000206: hibernate.properties not found"? 和类似的帖子

@Maciej Dobrowolski 我不使用Maven所以我没有pom.xml(我不解释为什么在这里它没有关联) 这是我在类路径中的罐子:

 /WebContent/WEB-INF/lib/hibernate-c3p0-5.0.0.Final.jar
 /WebContent/WEB-INF/lib/hibernate-commons-annotations-4.0.5.Final.jar
 /WebContent/WEB-INF/lib/hibernate-core-4.3.6.Final.jar
 /WebContent/WEB-INF/lib/hibernate-entitymanager-4.3.6.Final.jar
 /WebContent/WEB-INF/lib/hibernate-jpa-2.1-api-1.0.0.Final.jar
 /WebContent/WEB-INF/lib/c3p0-0.9.5.1.jar

1 个答案:

答案 0 :(得分:0)

这可能很愚蠢,但我认为你需要添加:

<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

到您的配置,我希望这适合您,