要么用 session.flush(), 要么用Transaction,(最好用Trasactio) 这样才能保存。(注意 commit() 方法)             session=sessionFactory.openSession();
             Transaction tx = session.beginTransaction();
             session.save(cat);
             tx.commit();
             session.close();
             sessionFactory.close();

解决方案 »

  1.   

    为了方便楼主Hibernate的学习,顺便提一下。一般 hiberate.cfg.xml 是放在你的源文件最外层的
    文件夹中的。 比如你的包 com/ren/po, 假设这个包是在 src/文件夹中,你的hibernate.cfg.xml 也应该放在 src/下, 相应的 hiberante.cfg.xml 要做改动 
    <mapping resource="com/ren/po/Cat.hbm.xml"/>最后在 你的Test 文件中写     
    private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
    private static final Configuration cfg = new Configuration();------
    //然后再用这个文件,这样就不用指定文件在哪个盘了
    cfg.configure(CONFIG_FILE_LOCATION);
    sessionFactory = cfg.buildSessionFactory();
    --------最后,楼主要看一下相关的ThreadLocal Design Patten,记住要 close.sessionFactory() 
    Hibernate是非常好的一个技术,但是也是很难透彻理解的,一旦学好,收益很大。
      

  2.   

    你去下一个在Eclipse下用的Hibernate的插件,一句代码都不用你写,何必这么痛苦呢!
      

  3.   

    Java.class,Cat.class,放一个包Cat.hbm.xml.
    hibernate.cfg.xml放类目录最外层