首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

hibernate.hbm2ddl.auto设置成none仍然自动更改表结构解决方案

2012-06-15 
hibernate.hbm2ddl.auto设置成none仍然自动更改表结构hibernate配置文件如下:?xml version1.0 encodin

hibernate.hbm2ddl.auto设置成none仍然自动更改表结构
hibernate配置文件如下:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
  "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>

<session-factory>
<property name="dialect">
org.hibernate.dialect.SQLServerDialect
</property>
<property name="connection.url">jdbc:odbc:WebSite</property>
<property name="connection.username">sa</property>
<property name="connection.password">sa</property>
<property name="connection.driver_class">
sun.jdbc.odbc.JdbcOdbcDriver
</property>
<property name="hibernate.hbm2ddl.auto">none</property>
<mapping class="com.lujun.manage.login.entites.TblSysUser"/>
</session-factory>

</hibernate-configuration>





实体类如下:
package com.lujun.manage.login.entites;

import java.io.Serializable;
import javax.persistence.*;
import java.sql.Timestamp;


/**
 * The persistent class for the tbl_sys_user database table.
 * 
 */
@Entity
@Table(name="tbl_sys_user")
public class TblSysUser implements Serializable {
private static final long serialVersionUID = 1L;

@Id
@Column(name="user_id")
private String userId;

private int activated;

@Column(name="create_by")
private String createBy;

@Column(name="create_date")
private Timestamp createDate;

private String mobile;

  @Lob()
private String note;

private String password;

private int sex;

private String tel;

@Column(name="user_login_name")
private String userLoginName;

@Column(name="user_name")
private String userName;

  public TblSysUser() {
  }

public String getUserId() {
return this.userId;
}

public void setUserId(String userId) {
this.userId = userId;
}

public int getActivated() {
return this.activated;
}

public void setActivated(int activated) {
this.activated = activated;
}

public String getCreateBy() {
return this.createBy;
}

public void setCreateBy(String createBy) {
this.createBy = createBy;
}

public Timestamp getCreateDate() {
return this.createDate;
}

public void setCreateDate(Timestamp createDate) {
this.createDate = createDate;
}

public String getMobile() {
return this.mobile;
}

public void setMobile(String mobile) {
this.mobile = mobile;
}

public String getNote() {
return this.note;
}

public void setNote(String note) {
this.note = note;
}

public String getPassword() {
return this.password;
}

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

public int getSex() {
return this.sex;
}

public void setSex(int sex) {
this.sex = sex;
}

public String getTel() {
return this.tel;
}

public void setTel(String tel) {
this.tel = tel;
}

public String getUserLoginName() {
return this.userLoginName;
}

public void setUserLoginName(String userLoginName) {
this.userLoginName = userLoginName;


}

public String getUserName() {
return this.userName;
}

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

}


每次在启动的时候hiber就把表结构变了,sql输出如下:
drop table tbl_sys_user
create table tbl_sys_user (user_id varchar(255) not null, activated int not null, create_by varchar(255) null, create_date datetime null, mobile varchar(255) null, note text null, password varchar(255) null, sex int not null, tel varchar(255) null, user_login_name varchar(255) null, user_name varchar(255) null, primary key (user_id))


我用的是hibernate 3.5,哪位高手帮我一下,谢谢,或者发邮件给我:45104799@qq.com

[解决办法]
你在程序中有没有对
hibernate.hbm2ddl.auto属性进行相关设置?
[解决办法]
<property name="hibernate.hbm2ddl.auto">none</property>
<mapping class="com.lujun.manage.login.entites.TblSysUser"/>
是不是映射的资源,在进行配置xml文件的时候出现错误
[解决办法]
validate 加载hibernate时,验证创建数据库表结构
 create 每次加载hibernate,重新创建数据库表结构
 create-drop 加载hibernate时创建,退出是删除表结构
 update 加载hibernate自动更新数据库结构
就没有none

热点排行