Hibernate覆盖数据

Hibernate覆盖数据,hibernate,Hibernate,我是Hibernate中的乞丐,我试图将测试数据保存到表中。每次运行脚本时,我的数据都会被覆盖,甚至是自动生成的ID字段。你能帮我吗 系统:Win32、Eclipse Indigo SR2、Jboss Hybernate 3.5.1 public class testeHibernate { public testeHibernate() { } /** * @param args */ public static void main(String[] args) { Sess

我是Hibernate中的乞丐,我试图将测试数据保存到表中。每次运行脚本时,我的数据都会被覆盖,甚至是自动生成的ID字段。你能帮我吗

系统:Win32、Eclipse Indigo SR2、Jboss Hybernate 3.5.1

public class testeHibernate {

public testeHibernate() {
}

/**
 * @param args
 */
public static void main(String[] args) {

    Session session = SessionFactoryUtil.getSessionFactory().getCurrentSession();
    session.beginTransaction();
    Status st = new Status();
    st.setAbrev("CON");
    st.setDescricao("Consultado");
    st.setFim(false);
    st.setVigente(true);
    session.persist(st);
    List result = session.createQuery("FROM Status").list();

    for(Status sta : (List<Status>) result){
        System.out.println(sta.getDescricao());
    }

    session.getTransaction().commit();

}
}

xml映射

配置XML

<?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">
<hibernate-configuration>
 <session-factory name="sessionFactoryDB2">
  <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
  <property name="hibernate.connection.password">***classified****</property>
  <property name="hibernate.connection.url">jdbc:mysql://**CLASSIFIED**:3306/DB2</property>
  <property name="hibernate.connection.username">developer</property>
  <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
  <property name="hibernate.current_session_context_class">thread</property>
  <property name="hibernate.show_sql">true</property>
  <property name="hibernate.format_sql">true</property>
  <!-- Automatic schema creation (begin) === -->
  <property name="hibernate.hbm2ddl.auto">create</property>
  <!-- Simple memory-only cache -->
  <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
  <mapping class="br.com.bb.analop.classes.Status"
   package="br.com.bb.analop.classes" resource="br/com/bb/analop/classes/Status.hbm.xml"/>
 </session-factory>
</hibernate-configuration>
更改此项:

<property name="hibernate.hbm2ddl.auto">create</property>
为此:

<property name="hibernate.hbm2ddl.auto">update</property>
每次启动应用程序时,创建删除并重新创建数据库。更新仅在需要时更新您的架构,但如果可能,请保持数据不变

更改此选项:

<property name="hibernate.hbm2ddl.auto">create</property>
为此:

<property name="hibernate.hbm2ddl.auto">update</property>
每次启动应用程序时,创建删除并重新创建数据库。更新只会在需要时更新您的模式,但如果可能,请保持数据不变