hibernate - Tomcat 7 应用程序和 derby 数据库之间的连接出现问题。

标签 hibernate maven ubuntu tomcat7 derby

我有一个问题,我使用 Hibernate 和 Derby 数据库创建了一个 Web 应用程序。该应用程序处于开发阶段,将部署在 Tomcat 7 服务器中。该应用程序由一些服务、daos 和 pojo 组成。问题是,当我使用 main 作为桌面应用程序运行一些逻辑时,它会毫无问题地建立连接,但是当我将其部署在 tomcat 服务器中时,我可以在日志中看到以下堆栈跟踪

org.hibernate.exception.JDBCConnectionException: Could not open connection
   at ...
   at ...
Caused by: java.sql.SQLException: No suitable driver found for jdbc:derby://localhost:1527/calidad
   at ...
   at ...

这也是 hibernate.cfg.xml 中的 hibernate 映射配置:

<hibernate-configuration>
    <session-factory>
            <property name="connection.driver_class">org.apache.derby.jdbc.EmbeddedDriver</property>
            <property name="connection.url">jdbc:derby://localhost:1527/calidad</property>
            <property name="dialect">org.hibernate.dialect.DerbyDialect</property>
            <property name="hibernate.generate_statistics">true</property>
            <property name="show_sql">true</property>


        </mapping>
    </session-factory>
</hibernate-configuration>

这对我来说很奇怪,因为两次执行中使用了相同的配置。下面您可以看到我的 pom.xml 中关于 hibernate 依赖项的一些摘录:

            <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.1.5.Final</version>
        </dependency>


        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.5.6</version>
        </dependency>

        <dependency>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.1.2</version>
        </dependency>
<dependency>
            <groupId>org.apache.derby</groupId>
            <artifactId>derby</artifactId>
            <version>10.7.1.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.derby</groupId>
            <artifactId>derbyclient</artifactId>
            <version>10.7.1.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.derby</groupId>
            <artifactId>derbynet</artifactId>
            <version>10.7.1.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.derby</groupId>
            <artifactId>derbytools</artifactId>
            <version>10.7.1.1</version>
        </dependency>

我还手动将所有 derby jar 添加到 tomcat 的 lib 文件夹中,但结果是相同的。顺便说一句,我正在 Ubuntu 12 中工作。我希望有人能帮助我

问候

最佳答案

如果您使用 derbyclient,则驱动程序应为 org.apache.derby.jdbc.ClientDriver EmbeddedDriver用于嵌入式 derby db

关于hibernate - Tomcat 7 应用程序和 derby 数据库之间的连接出现问题。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18457507/

相关文章:

java - Hibernate 使 Weld 不在 Java SE 中初始化

java - hibernate.hbm2ddl.import_files : Path to the files

python - ModuleNotFoundError : No module named 'com.aspose'

python - 使用python在linux中访问文件的时间

java - 不使用HDFS可以用Hadoop做自动进程平衡吗

spring - 使用 JPA EntityManagerFactory 和 Spring 的 Hibernate 过滤器

java - 为什么我的 jar 这么大?

java - 从系统变量值读取 logback.xml

Maven clean/build 和部署后,Java App Engine 对 GcsService.createOrReplace 的调用会导致 Stopwatch.createUnstarted noSuchMethodError

python - 无法使用 OpenMPI : Cannot compile MPI programs 安装 mpi4py