从JPA类自动创建表

问题描述 投票:1回答:1

正在开发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个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.