首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >org.hibernate.exception.JDBCConnectionException:无法为DDL执行打开JDBC连接

org.hibernate.exception.JDBCConnectionException:无法为DDL执行打开JDBC连接
EN

Stack Overflow用户
提问于 2020-02-27 06:55:24
回答 2查看 1.2K关注 0票数 2

我试图使用hibernate在MySQL数据库中创建表,但我面临“无法打开用于DDL执行的”的问题。我输入了一个有效的连接URL和必需的jar文件,但是无法创建与数据库的连接。我为此寻找了很多解决方案,但没有一个对我有用。请告诉我我在这里做错了什么。

Hibernate版本:hibernate-core-5.4.12

MySQL连接器: 8.0.17

DBconn.java

代码语言:javascript
复制
public class Dbconn {

static Connection con=null;
public static Connection connect() throws ClassNotFoundException, SQLException
{
    Class.forName("com.mysql.jdbc.Driver");
    con=DriverManager.getConnection("jdbc:mysql://localhost:3306/maxigodb","root","root");
        //System.out.println("db connected");
    return con;

}
}

HbConnection.java

代码语言:javascript
复制
public class HbConnection {

static Session ses=null;
public static Session getSession() 
{
    StandardServiceRegistry ssr = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build();  

    Metadata meta = new MetadataSources(ssr).getMetadataBuilder().build();  

    SessionFactory factory = meta.getSessionFactoryBuilder().build();  
    ses = factory.openSession();  


    return ses;
}
}

hibernate.cfg.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
代码语言:javascript
复制
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

    <hibernate-configuration>

    <session-factory>

   <property name=  "hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/maxigodb</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">root</property>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</property>

    <property name="hibernate.show_sql">true</property>
    <property name="hbm2ddl.auto">update</property>

    <mapping class="com.maxico.pojo.Login_data"/>
    <mapping class="com.maxico.pojo.Agent_data"/>
    <mapping class="com.maxico.pojo.Hotel_data"/>
    <mapping class="com.maxico.pojo.HotelBooking_Details"/>

</session-factory>

控制台错误

代码语言:javascript
复制
    WARN: HHH030006: Exception occurred when closing the Proxool pool
java.lang.NullPointerException
at org.hibernate.proxool.internal.ProxoolConnectionProvider.stop(ProxoolConnectionProvider.java:233)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.stopService(AbstractServiceRegistryImpl.java:390)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.destroy(AbstractServiceRegistryImpl.java:373)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.destroy(StandardServiceRegistryImpl.java:129)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.deRegisterChild(AbstractServiceRegistryImpl.java:423)
at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:468)
at com.maxico.test.HbConnection.getSession(HbConnection.java:20)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:303)
Feb 27, 2020 12:07:39 PM org.hibernate.service.internal.AbstractServiceRegistryImpl stopService

INFO: HHH000369: Error stopping service [class org.hibernate.proxool.internal.ProxoolConnectionProvider]
org.hibernate.HibernateException: HHH030006: Exception occurred when closing the Proxool pool
at org.hibernate.proxool.internal.ProxoolConnectionProvider.stop(ProxoolConnectionProvider.java:241)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.stopService(AbstractServiceRegistryImpl.java:390)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.destroy(AbstractServiceRegistryImpl.java:373)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.destroy(StandardServiceRegistryImpl.java:129)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.deRegisterChild(AbstractServiceRegistryImpl.java:423)
at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:468)
at com.maxico.test.HbConnection.getSession(HbConnection.java:20)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:303)

Caused by: java.lang.NullPointerException
at org.hibernate.proxool.internal.ProxoolConnectionProvider.stop(ProxoolConnectionProvider.java:233)
... 39 more

Feb 27, 2020 12:07:39 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [jsp] in context with path [/Maxico] threw exception [An exception occurred processing [index.jsp] at line [182]

181:      Session ses= null;
182:      ses= HbConnection.getSession(); 
183:      System.out.println("Email:" +user);
184:      try {
185:      


Stacktrace:] with root cause
java.sql.SQLException: The url cannot be null
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:660)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:251)
at org.hibernate.proxool.internal.ProxoolConnectionProvider.getConnection(ProxoolConnectionProvider.java:69)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:180)
at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:43)
at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.getTablesInformation(DatabaseInformationImpl.java:120)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:834)

JAR文件

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-03 10:03:02

我解决了这个问题。

出现此问题是因为我添加了两个jar文件hibernate-proxool-5.4.12.Finalproxool-0.8.3.我删除了hibernate-proxool-5.4.12.Final,之后我能够建立到数据库的连接。

票数 2
EN

Stack Overflow用户

发布于 2020-02-27 08:43:16

我认为你应该删除引号:

jdbc:mysql://localhost:3306/maxigodb“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60427768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档