Java 使用hibernate注释时未创建数据库表

Java 使用hibernate注释时未创建数据库表,java,hibernate,spring-mvc,Java,Hibernate,Spring Mvc,我是SpringMVC的新手,我正在尝试使用注释创建db表。但是,当我使用hbm.xml时,它并没有创建,因为它工作正常。 请帮帮我。任何帮助都是值得的 我的表格编码是:- import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id;

我是SpringMVC的新手,我正在尝试使用注释创建db表。但是,当我使用hbm.xml时,它并没有创建,因为它工作正常。 请帮帮我。任何帮助都是值得的

我的表格编码是:-

    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.Table;
    import javax.validation.constraints.Size;
    import org.hibernate.validator.constraints.NotEmpty;
    @Entity
    @Table(name = "LOGIN_MASTER")
    public class LoginForm {
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        private long Id;
        @NotEmpty
        @Size(min = 1, max = 50)
        @Column(name = "userName")
        private String userName;
        @NotEmpty
        @Size(min = 1, max = 20)
        @Column(name = "password")
        private String password;

        public void setUserName(String userName) {
            this.userName = userName;
        }

        public String getUserName() {
            return userName;
        }

        public void setPassword(String password) {
            this.password = password;
        }

        public String getPassword() {
            return password;
        }

        public long getId() {
            return Id;
        }

        public void setId(long id) {
            Id = id;
        }

    }
hibernate.cfg.xml

com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/spring3login 
根
根
1.
org.hibernate.dialogue.hsql方言
真的
创造
spring.xml

/WEB-INF/views/
.jsp

我想您忘记在hibernate.cfg.xml中添加属性了

<property name="hibernate.hbm2ddl.auto">update</property>
更新

通过此属性,如果架构不可用,它将创建一个,否则它只会更新或插入值。此属性可以添加到
hibernate.cfg.xml
或您的
spring.xml
文件中。

注释
@Size(最小值=1,最大值=50)
它是用于集合的,请修复它。

从我的角度来看,这可能是您没有创建表的权限的原因,这可能是因为您事先没有创建数据库。因此,手动创建数据库

那个么可能是您并没有创建表的特权,所以向数据库用户授予适当的特权将解决这个问题

最后,我假设这是因为您忽略了hibernate属性
更新


或者无法从类路径读取属性文件。

我已经映射了此属性:创建为什么我应该使用“更新”而不是“创建”?当使用“创建”时,它将通过每次运行程序时删除旧数据库来创建新数据库。最好使用update,这样如果数据库已经存在,它只执行CRUD操作。如果您遇到任何异常或错误,请发布它,以便更容易理解…任何帮助。。。还是一样的问题。这是我的hib.cfg.xml编码:-com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/spring3login 根根1 org.hibernate.dialent.hsqldialent true created但我用于验证目的的此注释。。。。它是否与表实体或创建表的问题有关。让我们看看您的spring配置。
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
     <property name="prefix"> <value>/WEB-INF/views/</value> </property> 
     <property name="suffix"> <value>.jsp</value> </property>
</bean>
<property name="hibernate.hbm2ddl.auto">update</property>