我创建了一个实体类Emp,我使用hbm2ddl.auto创建表,下面的实体相关表正在创建,但在我的数据库中的这张表之前还有一些表,如果我使用属性hbm2ddl.auto作为创建它需要删除总模式(总表)并创建实体相关表新鲜,旧表不会被删除。那些表在那里,这个新表被创建,我没有得到这个创建功能,任何人都可以澄清我的疑问。我使用的版本是3.6.4。hbm2ddl.auto不工作
Emp.java@Entity
@Table(name="Employe")
public class Emp {
@Id
int empid;
String ename;
public int getEmpid() {
return empid;
}
public void setEmpid(int empid) {
this.empid = empid;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
}
configuration.cfg.xml
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/sample</property>
<property name="connection.username">root</property>
<property name="connection.password">sun</property>
<property name="connection.pool_size">1</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">create</property>
<mapping class="in.hib.Emp" />
我的主程序是本
public class HibApplication {
public static void main(String[] args) {
Emp e=new Emp();
e.setEmpid(2);
e.setEname("pavai");
Configuration cfg=new Configuration().configure();
SessionFactory sf=cfg.buildSessionFactory();
Session session=sf.openSession();
session.beginTransaction();
session.save(e);
session.getTransaction().commit();
}
}
可能重复不重新创建表](http://stackoverflow.com/questions/10778755/hibernates-hbm2ddl-auto-property-with-value-c reate - 是 - 不重新创建表) – 2014-12-02 06:18:56