Я не могу автоматически создать таблицу из MVC Spring Maven.
Я делал проект Spring MVC с использованием Maven.Безусловно, у меня нет ошибок, но когда я пытаюсь создать таблицу в своей базе данных с помощью applicationconfig.xml, она не работает.Я искал по Интернету, но мой applicationconfig.xml мне подходит.У меня нет ошибок.Тем не менее таблица не создана ..
applicationconfig.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jpa="http://www.springframework.org/schema/data/jpa" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd"> <bean id="entityManager" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="packagesToScan" value="com.milan.entities" /><!--scans model/entity/domain(name 3 but same) and registers--> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" /> </property> <property name="jpaProperties"> <props> <prop key="hibernate.hbm2ddl.auto">create-drop</prop> <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop> <prop key="hibernate.show_sql">true</prop> </props> </property> </bean> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/inventorymanagement" /> <property name="username" value="root" /> <property name="password" value="" /> </bean> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManager" /> </bean> <tx:annotation-driven /> <bean id="persistenceExceptionTranslationPostProcessor" class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/> </beans>
Класс пользователя
package com.milan.entities; import java.io.Serializable; import javax.persistence.Column; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; public class User implements Serializable{ @Id @Column(name = "USER_ID") @GeneratedValue(strategy = GenerationType.IDENTITY) private long userId; @Column(name = "USERNAME") private String userName; @Column(name = "PASSWORD") private String password; @Column(name = "IS_ENABLEd") private boolean isEnabled; public long getUserId() { return userId; } public void setUserId(long userId) { this.userId = userId; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public boolean isIsEnabled() { return isEnabled; } public void setIsEnabled(boolean isEnabled) { this.isEnabled = isEnabled; } }
Ошибка при запуске программы, однако таблица не создается автоматически.
Поместите @Entity в свой класс User, если таблица еще не создана, попробуйте поместить ниже аннотации для класса:
@Entity
@Entity @Table(name = "`user`")
Может произойти, потому что User является резервным словом в БД.