User.hbm.xml 文件有没有放在 userInfo 目录下?

解决方案 »

  1.   

    org.hibernate.MappingException: Error reading resource: userInfo/User.hbm.xml
    at org.hibernate.cfg.Configuration.addClass(Configuration.java:466)
    at userInfo.TestUser.insertUser(TestUser.java:66)
    at userInfo.TestUser.main(TestUser.java:150)
    Caused by: org.hibernate.MappingException: org.dom4j.DocumentException: hibernate.sourceforge.net Nested exception: hibernate.sourceforge.net
    at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:403)
    at org.hibernate.cfg.Configuration.addClass(Configuration.java:463)
    ... 2 more
    Caused by: org.dom4j.DocumentException: hibernate.sourceforge.net Nested exception: hibernate.sourceforge.net
    at org.dom4j.io.SAXReader.read(SAXReader.java:353)
    at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:393)
    ... 3 more
    这是全部的出错信息
      

  2.   

    资源文件也有 
    hibernate.dialect net.sf.hibernate.dialect.SybaseDialect
    hibernate.connection.driver_class=org.gjt.mm.mysql.Driver
    hibernate.connection.url=jdbc:mysql://127.0.0.1/zhangbo
    hibernate.connection.username=root
    hibernate.connection.password=hibernate.show_sql false
    hibernate.jdbc.batch_size 0
    hibernate.jdbc.batch_size 25
    hibernate.cglib.use_reflection_optimizer false
      

  3.   

    User.hbm.xml的格式和 bean 的不对
      

  4.   

    <mapping resource="userInfo/User.hbm.xml"/>
    这个resource指定的目录是相对于classes的,所以User.hbm.xml应该放在classes/userInfo/下面。
      

  5.   

    还有,你的持久对象的名字应该和所关联的表同名,把User改成Userinfo
      

  6.   

    这是我映射文件的路径:D:\java\myprojs\hibernate\classes\userInfo\User.hbm.xml
    请问CAYU: 我的映射文件和BEAN里哪快不对啊?
      

  7.   

    User.hbm.xml改为Userinfo.hbm.xml
    <mapping resource="userInfo/User.hbm.xml"/>改为<mapping resource="userInfo/Userinfo.hbm.xml"/>
      

  8.   

    Error reading resource 这个应该是 映射文件里的内容不对 但我不知道具体是哪个地方 请大家帮我解决哈 分不够 解决了 开个贴子 再加50分 都可以啊!
      

  9.   

    type指对应的java类型,如java.lang.String
      

  10.   

    User.hbm.xml改为Userinfo.hbm.xml
    疑惑? 我的BEAN的名字是叫User啊?
    怎么再这改成了包的名字?
      

  11.   

    int 呢 是不是要换成Integer?
      

  12.   

    全部都改过来了怎么还是照样出错了啊?
    insert begin
    11:44:42,109 ERROR Configuration:402 - Could not configure datastore from input stream
    org.dom4j.DocumentException: hibernate.sourceforge.net Nested exception: hibernate.sourceforge.net
    at org.dom4j.io.SAXReader.read(SAXReader.java:353)
    at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:393)
    at org.hibernate.cfg.Configuration.addClass(Configuration.java:463)
    at userInfo.TestUser.insertUser(TestUser.java:70)
    at userInfo.TestUser.main(TestUser.java:155)
    Nested exception: 
    java.net.UnknownHostException: hibernate.sourceforge.net
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
    at java.net.Socket.connect(Socket.java:507)
    at java.net.Socket.connect(Socket.java:457)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:365)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:477)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:214)
    at sun.net.www.http.HttpClient.New(HttpClient.java:287)
    at sun.net.www.http.HttpClient.New(HttpClient.java:299)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:784)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:736)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:661)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:905)
    at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
    at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
    at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source)
    at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.dom4j.io.SAXReader.read(SAXReader.java:334)
    at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:393)
    at org.hibernate.cfg.Configuration.addClass(Configuration.java:463)
    at userInfo.TestUser.insertUser(TestUser.java:70)
    at userInfo.TestUser.main(TestUser.java:155)
    org.hibernate.MappingException: Error reading resource: userInfo/Usersinfo.hbm.xml
    at org.hibernate.cfg.Configuration.addClass(Configuration.java:466)
    at userInfo.TestUser.insertUser(TestUser.java:70)
    at userInfo.TestUser.main(TestUser.java:155)
    Caused by: org.hibernate.MappingException: org.dom4j.DocumentException: hibernate.sourceforge.net Nested exception: hibernate.sourceforge.net
    at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:403)
    at org.hibernate.cfg.Configuration.addClass(Configuration.java:463)
    ... 2 more
    Caused by: org.dom4j.DocumentException: hibernate.sourceforge.net Nested exception: hibernate.sourceforge.net
    at org.dom4j.io.SAXReader.read(SAXReader.java:353)
    at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:393)
    ... 3 more
      

  13.   

    我现在又重新写了个测试程序但还事一样的问题请打家帮我看看
    BEAN的名字是CAT-》表的名字CAT-》映射文件的名字CAT
    BEAN:
    public class Cat implements Serializable{
    /**
     * @return Returns the name.
     */
    public Cat(){}

    public Cat(String sex){
    this.sex=sex;
    }

    public String getName() {
    return name;
    }
    /**
     * @param name The name to set.
     */
    public void setName(String name) {
    this.name = name;
    }
    /**
     * @return Returns the sex.
     */
    public String getSex() {
    return sex;
    }
    /**
     * @param sex The sex to set.
     */
    public void setSex(String sex) {
    this.sex = sex;
    }
    private String name;
    private String sex;}
    映射文件:
    <?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="Test.Cat" table="CAT"> <id name="name" type="java.lang.String" unsaved-value="null" >
    <column name="name" sql-type="varchar(30)" not-null="true" />
    <generator class="Assigned"/>
    </id>
    <property name="sex" type="java.lang.String">
    <column name="sex" sql-type="char(2)" />
    </property></class>
    </hibernate-mapping>
    测试程序:
    package Test;
    import java.util.Iterator;
    import java.util.List;
    import org.hibernate.*;
    import org.hibernate.cfg.Configuration;public class TestCat {
    static Configuration  cfg=null;
    static SessionFactory sessionsFactory=null;
    static Session session =null;
    static Transaction tx=null;
    //插入
    public static void insertCat(Cat cat) {

    try {
    System.out.println("insert begin");

    cfg = new Configuration().addClass(Cat.class);
    sessionsFactory = cfg.buildSessionFactory();
    session  = sessionsFactory.openSession();

    Cat cat_obj=cat;
    tx  = session.beginTransaction();
    session.save(cat_obj);
    tx.commit();

    session.close();
    System.out.println("insert succeed");
    }catch (Exception e) {
    e.printStackTrace();
    }

    }

    public static void main(String[] args) throws Exception{
    //插入
    Cat cat=new Cat();
    cat.setName("tom");
    cat.setSex("公");
    TestCat.insertCat(cat);
    }
    }
    使用的eclipse.exe开发工具编译后CLASS文件都在bin目录里 这没关系吧?
      

  14.   

    at org.hibernate.cfg.Configuration.addClass(Configuration.java:466)
    cfg = new Configuration().addClass(Cat.class);
    总是抱错?
      

  15.   

    原来是我用的Hibernate3.0LIB的问题 换成2.0驱动就好了 难到Hibernate3.0连接的方式不一样吗?
    还有个问题就是 我添加数据的时候只能添加一次(表里无数据) 在添加就会抱错:
    net.sf.hibernate.JDBCException: Could not execute JDBC batch update
    at net.sf.hibernate.impl.BatcherImpl.executeBatch(BatcherImpl.java:129)
    at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2385)
    at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2335)
    at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2204)
    at net.sf.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:61)
    at Test.TestCat.insertCat(TestCat.java:39)
    at Test.TestCat.main(TestCat.java:157)
    Caused by: java.sql.BatchUpdateException: Duplicate entry '402880' for key 1
    at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1566)
    at net.sf.hibernate.impl.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:54)
    at net.sf.hibernate.impl.BatcherImpl.executeBatch(BatcherImpl.java:122)
    ... 6 more配置文件里的主键的信息
    <id name="name" type="java.lang.String" unsaved-value="null" >
    <column name="name" sql-type="varchar(30)" not-null="true" />
    <generator class="uuid.hex"/>
    </id>
    我想让程序自己产生主键 把<generator class="uuid.hex"/>改成<generator class="Assigned"/>
    运行时也抱错 异常:
    net.sf.hibernate.MappingException: could not instantiate id generator
    at net.sf.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:82)
    at net.sf.hibernate.mapping.SimpleValue.createIdentifierGenerator(SimpleValue.java:80)
    at net.sf.hibernate.persister.AbstractEntityPersister.<init>(AbstractEntityPersister.java:631)
    at net.sf.hibernate.persister.EntityPersister.<init>(EntityPersister.java:715)
    at net.sf.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:41)
    at net.sf.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:137)
    at net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:750)
    at Test.TestCat.insertCat(TestCat.java:33)
    at Test.TestCat.main(TestCat.java:157)
    Caused by: java.lang.ClassNotFoundException: Assigned
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:164)
    at net.sf.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:86)
    at net.sf.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:76)
    ... 8 more
    请问怎么办啊 急啊!!!!!!!!!
      

  16.   

    <id name="name" type="java.lang.String" unsaved-value="null" >
    <column name="name" sql-type="varchar(30)" not-null="true" />
    <generator class="uuid.hex"/>
    </id> uuid.hex-->生成32位但是你却sql-type="varchar(30)"--->30位能对吗?
      

  17.   

    顺便也问一个hibernate的问题
    http://community.csdn.net/Expert/topic/3877/3877782.xml?temp=.524151
      

  18.   

    搞错了 但我想用外部程序控制 <generator class="Assigned"/>
    程序产生主键:Cat cat=new Cat();
    //cat.setName("tom");
    cat.setSex("z");
    TestCat.insertCat(cat);
    运行就出错了
    net.sf.hibernate.MappingException: could not instantiate id generator
    at net.sf.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:82)
    at net.sf.hibernate.mapping.SimpleValue.createIdentifierGenerator(SimpleValue.java:80)
    at net.sf.hibernate.persister.AbstractEntityPersister.<init>(AbstractEntityPersister.java:631)
    at net.sf.hibernate.persister.EntityPersister.<init>(EntityPersister.java:715)
    at net.sf.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:41)
    at net.sf.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:137)
    at net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:750)
    at Test.TestCat.insertCat(TestCat.java:33)
    at Test.TestCat.main(TestCat.java:157)
    Caused by: java.lang.ClassNotFoundException: Assigned
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:164)
    at net.sf.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:86)
    at net.sf.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:76)
    ... 8 more
    那这是什么原因呢?
    最后一个问题了 麻烦了!
      

  19.   

    http://www.eclipseplugincentral.com/PNphpBB2+file-viewtopic-t-1234-sid-8cce1a33acd152a1f56068bd163f350a.html
      

  20.   

    <generator class="sequence"> 
    <param name="sequence">PD_APPFNC_SEQ</param> 
    </generator> 
    <param name="sequence">对应的是什么啊?
    PD_APPFNC_SEQ对应的又是什么啊?
      

  21.   

    你的id应该设置long型吧,这样,hibernate就可以自增了.给你看看我的
    <id
                name="id"
                column="id"
                type="long"
                unsaved-value="-1"
            >
                <generator class="native">
                </generator>
            </id>我也是菜鸟,给你做参考
      

  22.   

    那你cat.setId("a");楼主是不是去matrix问这个问题了?