Hibernate ORM与PostgreSQL-无法确定合适的驱动程序类

时间:2019-10-30 13:37:52

标签: java spring postgresql hibernate

我正在开发一个Spring Boot应用程序,它是一个带有博客系统的个人网站。我正在尝试使用Hibernate将一个简单的2表postgres数据库连接到我的应用程序。

到目前为止,这是 hibernate.cfg.xml

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


        <!-- JDBC Database connection settings -->
        <property name="connection.driver_class">org.postgresql.Driver</property>
        <property name="connection.url">jdbc:postgresql://localhost:5432/SlupovPersonal?useSSL=false</property>
        <property name="connection.username">postgres</property>
        <property name="connection.password">root</property>


        <!-- JDBC connection pool settings ... using built-in test pool -->
        <property name="connection.pool_size">1</property>


        <!-- Select our SQL dialect -->
        <property name="dialect">org.hibernate.dialect.PostgreSQLDialect9.2</property>


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


        <!-- Set the current session context -->
        <property name="current_session_context_class">thread</property>


        <!-- Drop and re-create the database schema on startup -->
        <property name="hbm2ddl.auto">create</property>


        <!-- dbcp connection pool configuration -->
        <property name="hibernate.dbcp.initialSize">5</property>
        <property name="hibernate.dbcp.maxTotal">20</property>
        <property name="hibernate.dbcp.maxIdle">10</property>
        <property name="hibernate.dbcp.minIdle">5</property>
        <property name="hibernate.dbcp.maxWaitMillis">-1</property>

        <mapping class="com.slupov.models.User"/>
        <mapping class="com.slupov.models.BlogPost"/>
    </session-factory>
</hibernate-configuration>

启动应用程序失败并出现错误:

  

说明:

     

无法配置数据源:未指定'url'属性,并且   无法配置嵌入式数据源。

     

原因:无法确定合适的驱动程序类别

     

操作:

     

请考虑以下事项:如果要嵌入式数据库(H2,HSQL或   Derby),请将其放在类路径上。如果您有数据库设置   要从特定配置文件加载您可能需要激活它(否   个人资料当前处于活动状态)。

在hibernate.cfg.xml中显式指向驱动程序类。可能是我的应用程序看不到 hibernate.cfg.xml 吗?

这是我的 pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>slupov</groupId>
    <artifactId>slupov-personal</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <build>

        <finalName>slupov-personal</finalName>

        <plugins>
            <plugin>
                <!-- Build an executable JAR -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.slupov.Startup</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals><goal>copy</goal></goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>com.github.jsimone</groupId>
                                    <artifactId>webapp-runner</artifactId>
                                    <version>9.0.27.0</version>
                                    <destFileName>webapp-runner.jar</destFileName>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

<!--    Spring Boot dependency-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.9.RELEASE</version>
    </parent>

    <dependencies>

<!--        Thymeleaf dependency-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

<!--        Spring Boot starter web dependency-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!--    Spring dev tools-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>42.2.5</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

    </dependencies>

</project>

这是项目的结构:

enter image description here

问题可能出在什么地方?我应该进行哪些更改才能使Hibernate运行?

0 个答案:

没有答案