Hibernate генерирует таблицу в Postgre из SpringBoot MultiModuleProject - PullRequest
0 голосов
/ 07 августа 2020

Я создал многомодульный проект SpringBoot.

Базовую c структуру проекта можно найти здесь .

Теперь я пытаюсь создать таблицы, используя Спящий режим в модуле модели.

Предварительные требования:

база данных в среде docker:

docker run --name postgres -e POSTGRES_PASSWORD=user -e POSTGRES_USER=user -e POSTGRES_DB=postgres -p 5432:5432 -d postgres

модель / пом. xml :

<project ...>
    ...
    <dependencies>
        <!--general-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <!--persistence-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
        </dependency>
    </dependencies>
</project>

модель / src / main / resources / application-model.properties:

# spring datasource
spring.database.driverClassName=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username=user
spring.datasource.password=user

# hibernate
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto = update

модель / src / main / java / model / ModelConfig. java:

...
@SpringBootApplication
@EntityScan("com.test.model.*")
@PropertySource("classpath:application-model.properties")
public class ModelConfig {
}

модель / src / main / java / model / MyEntity. java:

...
@Entity
@Data
public class MyEntity {
    @Id
    @GeneratedValue
    private long id;
    @Column
    private String text;
}

web / src / main / java / web / WebConfig. java:

...
@Configuration
@ComponentScan("com.test.*")
public class WebConfig {
}

WebConfig - это класс конфигурации, который находится рядом с WebApplication. java, у которого есть основная функция приложения. Таким образом, @ComponentScan("com.test.*") в WebConfig также должен сканировать в com.test.model и находить bean-компонент ModelConfig, что на самом деле так:

enter image description here taken from Intellij

In ModelConfig the annotation @EntityScan("com.test.model.*") should search for entities in com.test.model.*, which is the case for MyEntity.java.

Error:

Actually there is no error, #mvn clean install runs and builds everything and I can run the application without getting any error messages as you can see на выходе . Но таблица не сгенерирована.

Ожидания:

Я ожидаю, что эта настройка создаст таблицу с именем , с полем id с автогенерацией и полем с именем text с varchar (255), которые являются значениями по умолчанию @GeneratedValue и @Column в MyEntity. java.

Заранее спасибо.

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