【问题标题】:spring jpa not creating table spring mvcspring jpa没有创建表spring mvc
【发布时间】:2021-10-03 04:08:56
【问题描述】:

我正在开发一个 spring mvc 应用程序,在该应用程序中我使用 Spring JPA 创建表并连接到数据库。最初我的 JPA 正在工作并且表也正在创建,但由于一些调试问题,我删除了所有表,当我再次运行 API,它不再创建表并给我这个错误:

ERROR: relation "clients" does not exist\n  Position: 449
2021-07-27 15:33:50 [@] ERROR GenericControllerAdvice: Exception StackTrace:
org.springframework.orm.jpa.JpaSystemException: org.hibernate.exception.SQLGrammarException: could not extract ResultSet; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
        at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:424) ~[spring-orm-4.3.22.RELEASE.jar:4.3.22.RELEASE]
        at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:526) ~[spring-orm-4.3.22.RELEASE.jar:4.3.22.RELEASE]

我的 JPA 配置是:

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"
    >
        <property name="driverClassName" value="org.postgresql.Driver" />
        <property name="url" value="jdbc:postgresql://localhost:5432/test?createDatabaseIfNotExists=true" />
        <property name="username" value="postgres" />
        <property name="password" value="" />

    </bean>
    <bean id="entityManagerFactory"
          class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="packagesToScan" value="com.clients" />
        <property name="dataSource" ref="dataSource" />
        <property name="jpaProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
                <prop key="hibernate.ddl-auto">create</prop>
                <prop key="generate-ddl">true</prop>
        </props>
        </property>

我已经创建了测试数据库,它有默认的 1 个公共架构。 有人可以帮忙吗? 谢谢

【问题讨论】:

  • 你是否使用了 Spring Boot?
  • 使用spring mvc

标签: java postgresql spring-mvc jpa spring-data-jpa


【解决方案1】:

Hibernate 属性错误。

一定是:

<props>
    <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
    <prop key="hibernate.hbm2ddl.auto">create</prop>
</props>

【讨论】:

    猜你喜欢
    • 2019-07-08
    • 1970-01-01
    • 2013-04-19
    • 2018-05-11
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多