问各位一个问题,在Hibernat中自动创建数据库表;
xml语句:<property name="hmb2ddl.auto">create</property>
但是数据库根本没反映,不自动建立表;
首先:可以确认的是,连接无问题.因为我如果在数据库中手工建立表,程序可以运行.无任何问题;
其次:xml文件并没有写错;
environment:My Eclipse 6.01+数据库 SQL Server 2005。
xml语句:<property name="hmb2ddl.auto">create</property>
但是数据库根本没反映,不自动建立表;
首先:可以确认的是,连接无问题.因为我如果在数据库中手工建立表,程序可以运行.无任何问题;
其次:xml文件并没有写错;
environment:My Eclipse 6.01+数据库 SQL Server 2005。
参考
* Descript:
* id:员工姓名
* name:员工姓名
* joinTime:入职日期
* depart :所属部门
* Date:
* 2010/7/7
*/
public class Employee {
private int id;
private String name;
private Date joinTime;
private Department depart;
public Department getDepart() {
return depart;
}
public void setDepart(Department depart) {
this.depart = depart;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getJoinTime() {
return joinTime;
}
public void setJoinTime(Date joinTime) {
this.joinTime = joinTime;
}
}
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping
package="org.hibernate.domain">
<class name="Employee" table="TEmployee">
<id name="id">
<generator class="native"/>
</id>
<property name="name" />
<property name="joinTime" />
<many-to-one name="depart" column="depart_id"/>
</class>
</hibernate-mapping>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration>
<session-factory>
<property name="show_sql">true</property>
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property><!-- Dialect -->
<property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property><!--Driver -->
<property name="connection.url">jdbc:sqlserver://localhost:1433;databaseName=dbStudent;</property><!--URL -->
<property name="connection.username">sa</property><!--Username-->
<property name="connection.password">1</property><!--Password-->
<property name="hmb2ddl.auto">create</property>
<mapping resource="org/hibernate/domain/User.hbm.xml"/> <!-- mapping xml -->
<mapping resource="org/hibernate/domain/Department.hbm.xml"/>
<mapping resource="org/hibernate/domain/Employee.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Configuration cfg = new Configuration().configure();
//创建SchemaExport对象
SchemaExport export = new SchemaExport(cfg);
//创建数据库表
export.create(true,true);
问题解决了,用代码的方式可以
继续提问:
但是用xml的方式为什么不可以呢?