Hibernate ORM с PostgreSQL - не удалось определить подходящий класс драйверов - PullRequest
0 голосов
/ 30 октября 2019

Я разрабатываю приложение Spring Boot, которое представляет собой персональный веб-сайт с системой блогов. Я пытаюсь подключить простую базу данных postgres на 2 таблицы к моему приложению, используя Hibernate.

Это 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>

Запуск приложения завершается с ошибкой:

Описание:

Не удалось настроить атрибут DataSource: атрибут '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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...