你PurviewItemDefine.hbm.xml 是放在哪?

解决方案 »

  1.   

    位置没有放错 报的错不是没有找到文件
    是不能解释 PurviewItemDefine.hbm.xml 
    所以我很迷糊
      

  2.   

    exception就报这点吗?能不能把完整的信息打出来?hibernate报错应该比这个详细。
      

  3.   

    从你的映射文件看,有以下几点建议,
    1。你的映射文件必须放在com/chaitai/db/hib/ 目录下,hibernate.cfg.xml必须放在你项目的根目录下。
    2。你的property里的type="string"代表的是你java bean的类型,所以应写为type="java.lang.String"注意大小写。
    3。还有,type="integer"的property,在oracle8i中可能会有问题,一般最好改为java.math.BicDecimal  .在oracle9i中,可能没有问题。
      

  4.   

    完整的错误如下:log4j:WARN No appenders could be found for logger (net.sf.hibernate.cfg.Environment).log4j:WARN Please initialize the log4j system properly.net.sf.hibernate.MappingException: Error reading resource: com/chaitai/db/hib/PurviewItemDefine.hbm.xml at net.sf.hibernate.cfg.Configuration.addClass(Configuration.java:354) at com.chaitai.ctrl.DbTest.listdb(DbTest.java:33) at com.chaitai.util.MainFrame.<init>(MainFrame.java:80) at com.chaitai.util.MainApplication.<init>(MainApplication.java:23) at com.chaitai.util.MainApplication.main(MainApplication.java:78)Caused by: net.sf.hibernate.MappingException: duplicate import: PurviewItemDefine at net.sf.hibernate.cfg.Mappings.addImport(Mappings.java:85) at net.sf.hibernate.cfg.Binder.bindClass(Binder.java:126) at net.sf.hibernate.cfg.Binder.bindRootClass(Binder.java:221) at net.sf.hibernate.cfg.Binder.bindRoot(Binder.java:1243) at net.sf.hibernate.cfg.Configuration.add(Configuration.java:249) at net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java:285) at net.sf.hibernate.cfg.Configuration.addClass(Configuration.java:351) ... 4 more
      

  5.   

    如果改成:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
    <hibernate-mapping>
    <class name="com.chaitai.db.hib.PurviewItemDefine" schema="PURVIEW" table="PURVIEW_ITEM_DEFINE">
    <id column="PURVIEW_ITEM_DEFINE_ID" name="id" type="java.lang.String">
    <generator class="uuid.hex"/>
    </id>
    <property column="PURVIEW_ITEM_DEFINE_NO" length="9" name="purviewItemDefineNo" not-null="true" type="java.math.BicDecimal"/>
    <property column="PURVIEW_ITEM_DEFINE_NAME" length="50" name="purviewItemDefineName" type="java.lang.String"/>
    <property column="REMAKE" length="100" name="remake" type="java.lang.String"/>
    </class>
    </hibernate-mapping>报错如下:
    log4j:WARN No appenders could be found for logger (net.sf.hibernate.cfg.Environment).log4j:WARN Please initialize the log4j system properly.net.sf.hibernate.MappingException: Error reading resource: com/chaitai/db/hib/PurviewItemDefine.hbm.xml at net.sf.hibernate.cfg.Configuration.addResource(Configuration.java:336) at net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:990) at net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:946) at net.sf.hibernate.cfg.Configuration.configure(Configuration.java:874) at com.chaitai.ctrl.DbTest.listdb(DbTest.java:32) at com.chaitai.util.MainFrame.<init>(MainFrame.java:80) at com.chaitai.util.MainApplication.<init>(MainApplication.java:23) at com.chaitai.util.MainApplication.main(MainApplication.java:78)Caused by: net.sf.hibernate.MappingException: Could not interpret type: java.math.BicDecimal at net.sf.hibernate.cfg.Binder.getTypeFromXML(Binder.java:923) at net.sf.hibernate.cfg.Binder.bindSimpleValue(Binder.java:424) at net.sf.hibernate.cfg.Binder.propertiesFromXML(Binder.java:1036) at net.sf.hibernate.cfg.Binder.bindRootClass(Binder.java:361) at net.sf.hibernate.cfg.Binder.bindRoot(Binder.java:1243) at net.sf.hibernate.cfg.Configuration.add(Configuration.java:249) at net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java:285) at net.sf.hibernate.cfg.Configuration.addResource(Configuration.java:333) ... 7 more
      

  6.   

    1.
    conf = new Configuration().addClass(com.chaitai.db.hib.PurviewItemDefine.class); 
    conf.configure("/hibernate.cfg.xml"); 
    sessionFactory = conf.buildSessionFactory(); 
    --------------------------------------------------
    改成
    sessionFactory = new Configuration().configure().buildSessionFactory();2.
    <hibernate-configuration> <session-factory> 
    ...
    ...
    ...
    <!-- Mapping files --> 
    <mapping resource="com/chaitai/db/hib/PurviewItemDefine.hbm.xml"/> </session-factory> </hibernate-configuration> 
    --------------------------<mapping resource="com/chaitai/db/hib/PurviewItemDefine.hbm.xml"/> 
    改成<mapping resource="\com\chaitai\db\hib\PurviewItemDefine.hbm.xml"/> 当然要确定PurviewItemDefine.hbm.xml是放在com\chaitai\db\hib\下
      

  7.   

    至于log4j:WARN No appenders could be found for logger把log4j.properties文件直接copy到WEB-INF\classes目录下
      

  8.   

    name="purviewItemDefineNo" not-null="true" type="java.math.BicDecimal"/>
     BigDecimal写错了