正在开发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;
}
}
我不认为您可以让JPA创建表,但是我经常使用flyway通过代码来管理数据库