Java 使用hibernate注释时未创建数据库表
我是SpringMVC的新手,我正在尝试使用注释创建db表。但是,当我使用hbm.xml时,它并没有创建,因为它工作正常。 请帮帮我。任何帮助都是值得的 我的表格编码是:-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;
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>