&&&&&&&&&&&&&&&&&&
Environment - Hibernate 3.2.5
Environment - hibernate.properties not found
Environment - Bytecode provider name : cglib
Environment - using JDK 1.4 java.sql.Timestamp handling
Configuration - configuring from resource: /hibernate.cfg.xml
Configuration - Configuration resource: /hibernate.cfg.xml
Configuration - Reading mappings from resource : com/ghc/date/bean/Empt.hbm.xml
HbmBinder - Mapping class: com.ghc.date.bean.Empt -> EMPT
Configuration - Configured SessionFactory: null
%%%% Error Creating SessionFactory %%%%
org.hibernate.MappingException: Association references unmapped class: com.ghc.date.bean.Empdept
at org.hibernate.cfg.HbmBinder.bindCollectionSecondPass(HbmBinder.java:2380)
at org.hibernate.cfg.HbmBinder$CollectionSecondPass.secondPass(HbmBinder.java:2662)
at org.hibernate.cfg.CollectionSecondPass.doSecondPass(CollectionSecondPass.java:43)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1130)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1286)
at com.ghc.SessionFactory.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:31)
at com.ghc.DaoImpl.EmptImpl.findall(EmptImpl.java:52)
at com.ghc.DaoImpl.EmptImpl.main(EmptImpl.java:104)
Configuration - configuring from resource: /hibernate.cfg.xml
Configuration - Configuration resource: /hibernate.cfg.xml
Configuration - Reading mappings from resource : com/ghc/date/bean/Empt.hbm.xml
Mappings - duplicate import: com.ghc.date.bean.Empt->com.ghc.date.bean.Empt
Mappings - duplicate import: com.ghc.date.bean.Empt->Empt
HbmBinder - Mapping class: com.ghc.date.bean.Empt -> EMPT
%%%% Error Creating SessionFactory %%%%
org.hibernate.InvalidMappingException: Could not parse mapping document from resource com/ghc/date/bean/Empt.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:569)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1587)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1555)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1534)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1508)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1428)
at com.ghc.SessionFactory.HibernateSessionFactory.rebuildSessionFactory(HibernateSessionFactory.java:69)
at com.ghc.SessionFactory.HibernateSessionFactory.getSession(HibernateSessionFactory.java:53)
at com.ghc.DaoImpl.EmptImpl.findall(EmptImpl.java:52)
at com.ghc.DaoImpl.EmptImpl.main(EmptImpl.java:104)
Caused by: org.hibernate.DuplicateMappingException: Duplicate collection role mapping com.ghc.date.bean.Empt.empdepts
at org.hibernate.cfg.Mappings.addCollection(Mappings.java:124)
at org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2066)
at org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2041)
at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:359)
at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:273)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:144)
at org.hibernate.cfg.Configuration.add(Configuration.java:669)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:504)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:566)
... 9 more
Exception in thread "main" java.lang.NullPointerException
at com.ghc.DaoImpl.EmptImpl.findall(EmptImpl.java:53)
at com.ghc.DaoImpl.EmptImpl.main(EmptImpl.java:104)
================================================================================
<?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"><!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration><session-factory>
<property name="myeclipse.connection.profile">myOracle</property>
<property name="connection.url">
jdbc:oracle:thin:@localhost:1521:ghc
</property>
<property name="connection.username">empt</property>
<property name="connection.password">empt</property>
<property name="connection.driver_class">
oracle.jdbc.driver.OracleDriver
</property>
<property name="dialect">
org.hibernate.dialect.Oracle9Dialect
</property>
<mapping resource="com/ghc/date/bean/Empt.hbm.xml" /></session-factory></hibernate-configuration>
==============================================================
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="com.ghc.date.bean.Empt" table="EMPT" schema="EMPT">
        <id name="empid" type="java.lang.Long">
            <column name="EMPID" precision="5" scale="0" />
            <generator class="sequence">
            <param name="sequence">sq_empt</param>
            </generator>
        </id>
        <property name="empnum" type="java.lang.String">
            <column name="EMPNUM" length="10" />
        </property>
        <property name="empname" type="java.lang.String">
            <column name="EMPNAME" length="10" />
        </property>
        <property name="empjob" type="java.lang.String">
            <column name="EMPJOB" length="30" />
        </property>
        <property name="empdept" type="java.lang.String">
            <column name="EMPDEPT" length="30" />
        </property>
        <property name="empage" type="java.lang.Long">
            <column name="EMPAGE" precision="2" scale="0" />
        </property>
        <property name="empsex" type="java.lang.Long">
            <column name="EMPSEX" precision="2" scale="0" />
        </property>
        <property name="empsal" type="java.lang.Long">
            <column name="EMPSAL" precision="5" scale="0" />
        </property>
        <set name="empdepts" inverse="true">
            <key>
                <column name="EMPID" precision="5" scale="0" />
            </key>
            <one-to-many class="com.ghc.date.bean.Empdept" />
        </set>
    </class>
</hibernate-mapping>
====================================
package com.ghc.DaoImpl;import java.util.ArrayList;
import java.util.List;import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;import com.ghc.SessionFactory.HibernateSessionFactory;import com.ghc.dao.emptDao;
import com.ghc.date.bean.Empt;public class EmptImpl implements emptDao { public void del(Long id) {
Session session = HibernateSessionFactory.getSession();
Transaction ts = session.beginTransaction();
try {
String s = "delete from Empt where empid=id";
Query q = session.createQuery(s);
q.setInteger(1, id.intValue());
q.executeUpdate();
ts.commit();
} catch (Exception e) {
e.printStackTrace();
ts.rollback();
} finally {
HibernateSessionFactory.closeSession();
} } public void update(Object obj) {
Session session = HibernateSessionFactory.getSession();
Transaction ts = session.beginTransaction();
Empt emp = (Empt) obj;
try {
session.update(emp);
ts.rollback();
} catch (Exception e) {
e.printStackTrace();
} finally {
HibernateSessionFactory.closeSession();
} } public List findall() {
System.out.println("&&&&&&&&&&&&&&&&&&");
Session session = HibernateSessionFactory.getSession();
Transaction ts = session.beginTransaction();
List list = new ArrayList();
try {
Query q = session.createQuery("from Empt");
list = q.list();
System.out.println("%%%%%%%%%%%%%%%%%%%%"+list.size());
ts.commit();
} catch (Exception e) {
e.printStackTrace();
ts.rollback();
} finally { HibernateSessionFactory.closeSession();
}
return list;
} public Object findone(Long id) {
Session session = HibernateSessionFactory.getSession();
Transaction ts = session.beginTransaction();
Empt emp = new Empt();
try {
emp = (Empt) session.get(Empt.class, id);
ts.commit();
} catch (Exception e) {
e.printStackTrace();
ts.rollback();
} finally {
HibernateSessionFactory.closeSession();
}
return null;
} public void add(Object obj) {
Session session = HibernateSessionFactory.getSession();
Transaction ts = session.beginTransaction();
Empt emp = (Empt) obj;
try {
session.save(emp);
ts.commit();
} catch (Exception e) {
e.printStackTrace();
ts.rollback();
} finally {
HibernateSessionFactory.closeSession();
}
}
public static void main(String[] args) {
EmptImpl empt = new EmptImpl();
List list = empt.findall();
System.out.println(list.size());
}
}========================================
我找了好久没找到那出错了啊!
望大侠们 帮我看哈那里出错了!!!

解决方案 »

  1.   

    Could not parse mapping document from resource com/ghc/date/bean/Empt.hbm.xml 
    无法解析这个hbm文件
    Association references unmapped class: com.ghc.date.bean.Empdept 
    联合引用无法指向com.ghc.date.bean.Empdept 你是不是这个2个配置有问题
      

  2.   

    就一个 <mapping resource="com/ghc/date/bean/Empt.hbm.xml" /> 
      

  3.   

        <set name="empdepts" inverse="true"> 
                <key> 
                    <column name="EMPID" precision="5" scale="0" /> 
                </key> 
                <one-to-many class="com.ghc.date.bean.Empdept" /> 
            </set> 
    楼主,你这里一对多映射,com.ghc.date.bean.Empdept这个类没有在hibernate上面配置,
    配置下就好啦