【问题标题】:Create tables automatically from the JPA class从 JPA 类自动创建表
【发布时间】:2020-05-03 01:16:10
【问题描述】:

我正在 STS eclipse 中开发一个库存管理应用程序。我创建了自己的应用程序上下文文件 .xml 。我已经建立了 jdbc 连接,并且数据库也是从 .xml 文件自动创建的。 我在 src/main/java 下创建了一个名为 com.stock.mvc.entities 的新包。在该包中,我创建了不同的实体,它们也代表数据库中的表。

执行时;通常应该创建数据库,并且也应该根据之前创建的实体创建表。 但是当我启动应用程序时;首先数据库在 Mariadb 而不是 mysql 中;其次,没有在数据库中创建表。

我需要创建表才能继续。谁能帮帮我?

applicationContext.xml 中与数据库的连接:

<bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
        <property name="url" value="jdbc:mysql://localhost:3306/gestionStock_mvc?createDatabaseIfNotExist=true"></property>
        <property name="username" value="root"></property>
        <property name="password" value=""></property>
    </bean>

在persistence.xml中:

<persistence-unit name="UP_GESTION_STOCK"
        transaction-type ="RESOURCE_LOCAL">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <Properties>
            <property name="hibernate.hbm2ddl.auto" value="create" />
            <property name="hibernate.show_sql" value="true" />
        </Properties>
    </persistence-unit>

一个实体类代码:

@Entity
@Table (name ="article" )
public class Article implements Serializable{

    @Id
    @GeneratedValue
    private Long idArticle;

    public Long getIdArticle() {
        return idArticle;
    }

    public void setIdArticle(Long idArticle) {
        this.idArticle = idArticle;
    }


}

【问题讨论】:

    标签: java mysql spring-mvc spring-jdbc


    【解决方案1】:

    我不认为你可以让 JPA 创建表,但我最常使用 flyway 通过代码管理数据库

    【讨论】:

      猜你喜欢
      • 2021-09-12
      • 1970-01-01
      • 1970-01-01
      • 2013-10-09
      • 2021-09-15
      • 1970-01-01
      • 1970-01-01
      • 2021-04-01
      • 1970-01-01
      相关资源
      最近更新 更多