CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  框架、开源

第一个hibernate实例发现对象的配置文件(Customer.hbm.xml )找不到?

楼主pianfuqing(情归何处?)2005-08-18 10:28:21 在 Java / 框架、开源 提问

我用的是jb9,hibernate2.1  
  我把所要用到的文件都放到了,jb9下我建的工程下的src里去了,具体路径是:  
  E:\java\JB9\TestHinernate\src\com\test\hibernate,下面有四个文件分别为:  
  Customer.hbm.xml:  
  <?xml   version="1.0"?>  
  <!DOCTYPE   hibernate-mapping   PUBLIC  
          "-//Hibernate/Hibernate   Mapping   DTD//EN"  
          "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">  
   
  <hibernate-mapping>  
          <class   name="Customer"   table="CUSTOMER">  
                  <id   name="id"   column="CID">  
                          <generator   class="increment"   />  
                  </id>  
                  <property   name="username"   column="USERNAME"   />  
                  <property   name="password"   column="PASSWORD"   />  
          </class>  
  </hibernate-mapping>  
  hibernate.cfg.xml:  
  <?xml   version='1.0'   encoding='utf-8'?>  
  <!DOCTYPE   hibernate-configuration  
          PUBLIC   "-//Hibernate/Hibernate   Configuration   DTD//EN"  
          "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">  
   
  <hibernate-configuration>  
   
          <session-factory   name="java:comp/env/hibernate/SessionFactory">  
           
                  <property   name="hibernate.connection.driver_class">com.microsoft.jdbc.sqlserver.SQLServerDriver</property>  
  <property   name="hibernate.connection.url">jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test</property>  
  <property   name="hibernate.connection.username">sa</property>  
  <property   name="hibernate.connection.password">dagang</property>  
  <property   name="hibernate.connection.pool.size">6</property>  
   
  <property   name="jdbc.fetch_size">50</property>    
  <property   name="jdbc.batch_size">25</property>    
  <property   name="jdbc.use_scrollable_resultset">false</property>  
  <property   name="hibernate.show_sql">false</property>  
  <property   name="hibernate.cache.use_query_cache">true</property>  
                  <property   name="use_outer_join">true</property>                
   
                  <!--   Mapping   files             -->  
                  <mapping   resource="E:/java/JB9/TestHinernate/src/com/test/hibernate/Customer.hbm.xml"/>  
          </session-factory>  
          <!---->  
  </hibernate-configuration>  
  Customer.java:  
  这个文件就是一些个set,get方法,  
  Test.java:  
  package   com.test.hibernate;  
   
  import   java.io.File;  
  import   net.sf.hibernate.*;  
  import   net.sf.hibernate.cfg.*;  
   
  public   class   Test   {  
      public   static   void   main(String[]   args)   {  
      try   {  
                          SessionFactory   sf   =   new   Configuration().configure(new   File("E:/java/JB9/TestHinernate/src/com/test/hibernate/hibernate.cfg.xml")).buildSessionFactory();  
                          Session   session   =   sf.openSession();  
                          Transaction   tx   =   session.beginTransaction();  
                          for   (int   i   =   0;   i   <   200;   i++)   {  
                                  Customer   customer   =   new   Customer();  
                                  customer.setUsername("customer"   +   i);  
                                  customer.setPassword("customer");  
                                  session.save(customer);  
                          }  
                          tx.commit();  
                          session.close();  
   
                  }   catch   (HibernateException   e)   {  
                          e.printStackTrace();  
                  }  
          }  
  }  
  运行Test.java错误提示为:  
  net.sf.hibernate.MappingException:   Resource:   E:/java/JB9/TestHinernate/src/com/test/hibernate/Customer.hbm.xml   not   found  
  at   net.sf.hibernate.cfg.Configuration.addResource(Configuration.java:289)  
  at   net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:944)  
  at   net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:896)  
  at   net.sf.hibernate.cfg.Configuration.configure(Configuration.java:866)  
  at   com.test.hibernate.Test.main(Test.java:10)  
   
  实在在找不到解决的办法,请大家帮帮我。  
  问题点数:30、回复次数:5Top

1 楼flyxxxxx()回复于 2005-08-18 10:35:06 得分 11

config文件中不能用绝对路径,要用类路径:com/test/hibernate/Customer.hbm.xmlTop

2 楼pianfuqing(情归何处?)回复于 2005-08-18 13:52:46 得分 0

我按着你的方法做了,还是有错误:  
   
  net.sf.hibernate.MappingException:   Error   reading   resource:   com/test/hibernate/Customer.hbm.xml  
   
  at   net.sf.hibernate.cfg.Configuration.addResource(Configuration.java:294)  
   
  at   net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:944)  
   
  at   net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:896)  
   
  at   net.sf.hibernate.cfg.Configuration.configure(Configuration.java:866)  
   
  at   com.test.hibernate.Test.main(Test.java:10)  
   
  Caused   by:   net.sf.hibernate.MappingException:   persistent   class   [Customer]   not   found  
   
  at   net.sf.hibernate.cfg.Binder.bindClass(Binder.java:81)  
   
  at   net.sf.hibernate.cfg.Binder.bindRootClass(Binder.java:207)  
   
  at   net.sf.hibernate.cfg.Binder.bindRoot(Binder.java:1167)  
   
  at   net.sf.hibernate.cfg.Configuration.add(Configuration.java:245)  
   
  at   net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java:268)  
   
  at   net.sf.hibernate.cfg.Configuration.addResource(Configuration.java:291)  
   
  ...   4   more  
   
  Caused   by:   java.lang.ClassNotFoundException:   Customer  
   
  at   java.net.URLClassLoader$1.run(URLClassLoader.java:198)  
   
  at   java.security.AccessController.doPrivileged(Native   Method)  
   
  at   java.net.URLClassLoader.findClass(URLClassLoader.java:186)  
   
  at   java.lang.ClassLoader.loadClass(ClassLoader.java:299)  
   
  at   sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)  
   
  at   java.lang.ClassLoader.loadClass(ClassLoader.java:255)  
   
  at   java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)  
   
  at   java.lang.Class.forName0(Native   Method)  
   
  at   java.lang.Class.forName(Class.java:140)  
   
  at   net.sf.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:75)  
   
  at   net.sf.hibernate.cfg.Binder.bindClass(Binder.java:78)  
   
  ...   9   more  
   
  麻烦你在看一下吧!Top

3 楼tanguangbin(向前飞之牛牛在线)回复于 2005-08-18 14:10:31 得分 8

Caused   by:   java.lang.ClassNotFoundException:   Customer  
  Customer.CLASS   没有找到  
   
  你确定你的Customer.CLASS   文件和Customer.hbm.xml文件   放在com/test/hibernate/文件夹下吗?Top

4 楼hlsps(小鱼)回复于 2005-08-18 14:29:18 得分 11

<class   name="Customer"   table="CUSTOMER">  
  如果这个类在包里的话.要加上包的路径.  
   
  Top

5 楼pianfuqing(情归何处?)回复于 2005-08-18 17:52:20 得分 0

我的问题OK了,主要有两个原因,一:<class   name="Customer"   table="CUSTOMER">我应该加上包的路径;二:config文件中不能用绝对路径,要用类路径。  
  谢谢大家认真看了我的程序,真的很感谢啊!祝你们身体健康!!Top

相关问题

  • hibernate的配置文件问题
  • hibernate+spring的配置文件问题
  • 求 Middlegen-Hibernate 中的两个配置文件!(build.xml , mssql.xml)
  • 求hibernate中的二级缓存配置文件
  • 哥么们救命!!!!!hibernate配置文件有错吗
  • 关于XML的数据库配置文件
  • 如何用vc有选择的读取xml配置文件??/
  • 可否用xml配置文件,然后动态生成界面?
  • c#更新xml配置文件的数据
  • 如何读取自定义XML配置文件?

关键词

  • hibernate
  • 文件
  • xml
  • 路径
  • jb9
  • sf
  • customer
  • cfg
  • src
  • test

得分解答快速导航

  • 帖主:pianfuqing
  • flyxxxxx
  • tanguangbin
  • hlsps

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo