用的是HibernateTools-3.2.4.GA-R200905070146-H18工具里的Hibernate Code Generation方法:hibernate.cfg.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="safety">
        <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="hibernate.connection.password">system</property>
        <property name="hibernate.connection.url">jdbc:oracle:thin:@192.168.42.61:1521:prjdb</property>
        <property name="hibernate.connection.username">system</property>
        <property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property>

<property name="hibernate.show_sql">true</property>
<property name="hibernate.hbm2ddl.auto">create</property>
    
    
    <mapping resource="cn/hbm1/ThreeSameTime.hbm.xml" />
    
    </session-factory>
</hibernate-configuration>
ThreeSameTime.hbm.xml文件<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping  PUBLIC "-//HIBERNATE/Hibernate Mapping DTD/EN" 
  "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="ThreeSameTime" table="THREE_SAME_TIME">
<id name="id" column="ID" type="string">
<generator class="assigned"/>
</id>
<property name="name" column="NAME" type="string" not-null="false" length="500" />
</class>
</hibernate-mapping>执行的时候不会错,但就是没有ddl生产,谁知道为什么??

解决方案 »

  1.   

    hibernate.cfg.xml文件里加了<mapping resource="cn/hbm1/ThreeSameTime.hbm.xml" /> 
    就有这样的错:org.hibernate.InvalidMappingException: Could not parse mapping document from file C:\Documents and Settings\qichunhai\oa\ddddd\src\cn\hbm1\ThreeSameTime.hbm.xml
    Could not parse mapping document from file C:\Documents and Settings\qichunhai\oa\ddddd\src\cn\hbm1\ThreeSameTime.hbm.xml
      org.hibernate.DuplicateMappingException: Duplicate class/entity mapping com.bornsoft.safety.po.ThreeSameTime
      Duplicate class/entity mapping com.bornsoft.safety.po.ThreeSameTime
        org.hibernate.DuplicateMappingException: Duplicate class/entity mapping com.bornsoft.safety.po.ThreeSameTime
        Duplicate class/entity mapping com.bornsoft.safety.po.ThreeSameTime
    不加没有错,但是任然没有结果生产的文件
      

  2.   

    <mapping resource="cn/hbm1/ThreeSameTime.hbm.xml" />这个该是你项目里的,而C:\Documents and Settings\qichunhai\oa\ddddd\src\cn\hbm1\ThreeSameTime.hbm.xml 
    这个路径的映射文件也被加载了。所以错误提示为"Duplicate class/entity mapping",及重复映射。检查下为什么C:\Documents and Settings\qichunhai\oa\ddddd\src\cn\hbm1\ThreeSameTime.hbm.xml会被加载,或者删了这个文件。
      

  3.   

    太感谢楼上的这位大哥了,问题解决了。
    其实,C:\Documents and Settings\qichunhai\oa\ddddd\src\cn\hbm1\ThreeSameTime.hbm.xml文件就是<mapping resource="cn/hbm1/ThreeSameTime.hbm.xml" />里面的这个文件,只不过我在创建“Hibernate Code Generation Configuration”时指定了这个映射文件,而hibernate.cfg.xml里面又指定了映射文件,所以说是重复加载。你说的重复映射提醒了我。
    执行过后,数据库表结构自动就建好了。