Java Hibernate 4.0.1至4.3.5:无法建立JDBC连接

Java Hibernate 4.0.1至4.3.5:无法建立JDBC连接,java,hibernate,jdbc,derby,Java,Hibernate,Jdbc,Derby,我有一个使用Hibernate4.0.1与derby数据库交互的项目。那很好。下面是一个示例程序,它只连接到数据库,不做任何事情: import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class DbTestMain { public static void main(String... args){

我有一个使用Hibernate4.0.1与derby数据库交互的项目。那很好。下面是一个示例程序,它只连接到数据库,不做任何事情:

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class DbTestMain {
    public static void main(String... args){
        Configuration derbyConfiguration = new Configuration().configure("hibernate-derby.cfg.xml");

        SessionFactory derbySF = derbyConfiguration.buildSessionFactory();
        Session derbySession = derbySF.openSession();

        derbySession.close();
    }
}
下面是相应的配置:

<?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>

        <property name="connection.driver_class">org.apache.derby.jdbc.ClientDriver</property>

        <property name="connection.url">jdbc:derby:TestDerbyDB;create=true</property>
        <property name="connection.username"></property>
        <property name="connection.password"></property>

        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.DerbyDialect</property>

        <!-- Disable the second-level cache  -->
        <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>

        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql">true</property>

        <property name="hbm2ddl.auto">update</property>
    </session-factory>
</hibernate-configuration>
我所做的唯一一件事就是将我的类路径更改为使用Hibernate 4.3.5:

(由于某些原因,Hibernate 4.0.1需要commons集合,但Hibernate 4.3.5不需要。)

我没有更改任何其他内容,错误消息令人沮丧地含糊不清。我做错什么了吗?代码中是否有需要更新的更改


我的实际情况是,我正试图从一个旧的(Hibernate 4.0.1)项目中提取代码,并将其放入一个新的(Hibernate 4.3.5)项目中。

看起来Hibernate中肯定有什么问题。你试过用新方言吗<据我所知,code>org.hibernate.dialogue.derbydialogue已经过时了。“derbyclient.jar”来自“DatabaseLocalizer/lib”,而“derby-10.10.2.0.jar”来自“StaticVoidGames/target”,这看起来有点奇怪。也许你遇到了一些类路径冲突?另外,由于您的JDBC连接URL是嵌入式URL,而不是客户端URL,您可以完全从类路径中删除derbyclient.jar。@BryanPendleton这是我实际用例的一个症状:我有两个现有项目:使用Hibernate 4.3.5的StaticVoidGames和使用Hibernate 4.0.1的DatabaseLocalizer。我试图从DatabaseLocalizer中获取代码并在静态游戏中使用它,但是我得到了上面的错误。为了找出原因,我用MCVE创建了第三个项目,并用DatabaseLocalizer的类路径开始了它。这很好,所以我用StaticVoidGames类路径中的一个替换了每个jar,直到我将其缩小到核心Hibernate jar
Exception in thread "main" org.hibernate.HibernateException: Unable to make JDBC Connection [jdbc:derby:C:\Users\Kevin\Desktop\TestDerbyDB;create=true]
    at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:77)
    at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:106)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
    at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1928)
    at DbTestMain.main(DbTestMain.java:9)