session.save(u); 
//加一句试下看
session.flush();

UserInfo u1=(UserInfo)session.load(UserInfo.class, new Integer(1)); 

解决方案 »

  1.   

    建议你用spring的HibernateTemplate来管理session
    获取session
    getHibernateTemplate().getSessionFactory().getCurrentSession()
    这样用完不必关系session
      

  2.   

     小熊猫。我按你的试了 也没用。
    狒狒 我还不会Stping的 呵呵 刚学的 谢谢你们两位
      

  3.   

    这个错误提示,org.hibernate.MappingException: Unknown entity: hibernate.ch01.UserInfo 
    说明你的hibernate.cfg.xml 有问题,虽然你有映射文件,但是你的UserInfo并没有被映射。
    在你的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"> <!-- Generated by MyEclipse Hibernate Tools.                  --> 
    <hibernate-configuration>     <session-factory> 
            <property name="connection.username">root </property> 
            <property name="connection.url">jdbc:mysql://localhost/hibernate </property> 
            <property name="dialect">org.hibernate.dialect.MySQLDialect </property> 
            <property name="connection.password">Zhouzongxi </property> 
            <property name="connection.driver_class">com.mysql.jdbc.Driver </property> 
            <mapping resource="hibernate/ch01/UserInfo.hbm.xml"/>
        </session-factory>
     
    </hibernate-configuration> 
    这样你的映射文件在hibernate启动时,才被加载。
    试一下。
      

  4.   

    whetu:
    按你说的是对的 ,现在又出现一个异常,说文件没找到..log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
    log4j:WARN Please initialize the log4j system properly.
    Exception in thread "main" org.hibernate.MappingException: Resource: hibernate/ch01/UserInfo.hbm.xml not found
    at org.hibernate.cfg.Configuration.addResource(Configuration.java:447)
    at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1263)
    at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1235)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1217)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1184)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1112)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1098)
    at hibernate.ch01.HibernateTest.main(HibernateTest.java:15)
    请问下 这个应该怎么改?是不是我的目录弄错了?指点 谢谢
      

  5.   

     Unknown entity
    ls 正确
      

  6.   

    确保你的UserInfo.hbm.xml是在hibernate/ch01/目录下,也就是和UserInfo.java在一个目录下。
      

  7.   

    org.hibernate.MappingException: Unknown entity: hibernate.ch01.UserInfo 
    没有找到UserInfo实体,看看hbm文件指定目录下有没有这个类.
      

  8.   

    hibernate 
      |
      --hibernate.ch01  
           |
      

  9.   

    hibernate 
        |
        --src
         |
         --hibernate.ch01  
          ¦ 
           ---hibernateTest.java
           ---UserInfo.java 
           ---UserInfo.hbm.xml    
      

  10.   

    sunchang_hong :你说的那个异常解决了..谢谢!
    whetu: 路径也没错啊 
    Exception in thread "main" org.hibernate.MappingException: Resource: hibernate/ch01/UserInfo.hbm.xml not found 
    at org.hibernate.cfg.Configuration.addResource(Configuration.java:447) 
    at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1263) 
    at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1235) 
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1217) 
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1184) 
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1112) 
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1098) 
    at hibernate.ch01.HibernateTest.main(HibernateTest.java:15) 相比之下 我第1个还打印出来了“开始插入数据”的字样,这个没有也...
      

  11.   

    还是目录不对,按你在10楼所说,你的主程序和hbm.xml在同一个目录,试一下这样
    <mapping resource="UserInfo.hbm.xml"/> 
      

  12.   

    没有出现“开始插入数据”是因为没有找到hbm.xml文件,
    导致执行到SessionFactory sessions=new Configuration().configure().buildSessionFactory()时,出错,
    只要找到hbm.xml,正确生成session,“开始插入数据”就出来了
      

  13.   

    谢谢你啦 搞定了,给你加分!!
    我把那个UserInfo.hbm.xml改了下位置 提示其他的错误信息 ..后面解决了