问各位一个问题,在Hibernat中自动创建数据库表;
xml语句:<property name="hmb2ddl.auto">create</property>
但是数据库根本没反映,不自动建立表;
首先:可以确认的是,连接无问题.因为我如果在数据库中手工建立表,程序可以运行.无任何问题;
其次:xml文件并没有写错;
environment:My Eclipse 6.01+数据库 SQL Server 2005。

解决方案 »

  1.   

    查看日志吧,八九成是创建失败,且原因是实体配置有错。贴出实体类代码,如果是注解的,我可以帮楼主检查一下,xml方式的就算了。
      

  2.   

    http://space.baidu.com/scott866/blog/item/daef9529a6f133f0e7cd409d.html
    参考
      

  3.   

    package org.hibernate.domain;import java.util.Date;/*
     * 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>
      

  4.   

    //读取配置文件 
            Configuration cfg = new Configuration().configure(); 
            //创建SchemaExport对象 
            SchemaExport export = new SchemaExport(cfg); 
            //创建数据库表 
            export.create(true,true);  
    问题解决了,用代码的方式可以
     继续提问:
     但是用xml的方式为什么不可以呢?