0

我是spring mvc的新手,我正在尝试使用注释制作数据库表。但是当我使用 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;
        }

    }

休眠.cfg.xml

<session-factory>
 <property name="hibernate.connection.driver_class"> com.mysql.jdbc.Driver</property> 
 <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/spring3login</property> 
 <property name="hibernate.connection.username">root</property>
 <property name="connection.password">root</property>
 <property name="connection.pool_size">1</property>
 <property name="hibernate.dialect"> org.hibernate.dialect.HSQLDialect </property>
 <property name="show_sql">true</property>
 <property name="hibernate.hbm2ddl.auto">create</property>

春天.xml

<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>
4

3 回答 3

1

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

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

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

于 2013-06-26T07:01:38.450 回答
0

用于收藏的注释@Size(min = 1, max = 50),请修复它。

于 2013-06-26T08:04:53.347 回答
0

从我的角度来看,这可能是您没有权限创建表的原因,这可能是您没有提前创建数据库。所以手动创建数据库。

那么可能是您没有创建表的权限,因此向数据库用户授予适当的权限可以解决这个问题。

最后,我认为这是因为您省略了 hibernate 属性<propertyname="hibernate.hbm2ddl.auto">update</property>
或者您的属性文件无法从类路径中读取。

于 2013-06-26T11:04:28.157 回答