C:\workspace\HibernateTest>ant run
Buildfile: build.xmlinit:build:run:
     [java] log4j:WARN No appenders could be found for logger (net.sf.hibernate.
cfg.Environment).
     [java] log4j:WARN Please initialize the log4j system properly.
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java]     at Test.InsertRecord(Unknown Source)
     [java]     at Test.main(Unknown Source)
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java]     at Test.InsertRecord(Unknown Source)
     [java]     at Test.main(Unknown Source)
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java]     at Test.InsertRecord(Unknown Source)
     [java]     at Test.main(Unknown Source)
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java]     at Test.InsertRecord(Unknown Source)
     [java]     at Test.main(Unknown Source)
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java] Init sessionFactory failed!net.sf.hibernate.MappingException: could
not instantiate id generator
     [java]     at Test.InsertRecord(Unknown Source)
     [java]     at Test.main(Unknown Source)
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java]     at Test.InsertRecord(Unknown Source)
     [java]     at Test.main(Unknown Source)
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java]     at Test.InsertRecord(Unknown Source)
     [java]     at Test.main(Unknown Source)
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java]     at Test.InsertRecord(Unknown Source)
     [java]     at Test.main(Unknown Source)
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java]     at Test.InsertRecord(Unknown Source)
     [java]     at Test.main(Unknown Source)
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java]     at Test.InsertRecord(Unknown Source)
     [java]     at Test.main(Unknown Source)
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java]     at Test.InsertRecord(Unknown Source)
     [java]     at Test.main(Unknown Source)
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java]     at Test.InsertRecord(Unknown Source)
     [java]     at Test.main(Unknown Source)
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java]     at Test.InsertRecord(Unknown Source)
     [java]     at Test.main(Unknown Source)
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java]     at Test.InsertRecord(Unknown Source)
     [java]     at Test.main(Unknown Source)
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java]     at Test.InsertRecord(Unknown Source)
     [java]     at Test.main(Unknown Source)
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java]     at Test.InsertRecord(Unknown Source)
     [java]     at Test.main(Unknown Source)
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java]     at Test.InsertRecord(Unknown Source)
     [java]     at Test.main(Unknown Source)
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java]     at Test.InsertRecord(Unknown Source)
     [java]     at Test.main(Unknown Source)
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java]     at Test.InsertRecord(Unknown Source)
     [java]     at Test.main(Unknown Source)
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java]     at Test.InsertRecord(Unknown Source)
     [java]     at Test.main(Unknown Source)
     [java] java.lang.NullPointerException
     [java]     at HibernateUtil.CurrentSession(Unknown Source)
     [java]     at Test.QueryAll(Unknown Source)
     [java]     at Test.main(Unknown Source)BUILD SUCCESSFUL
Total time: 4 seconds

解决方案 »

  1.   

    主要的错误是:
         [java] Init sessionFactory failed!net.sf.hibernate.MappingException: could
    not instantiate id generator是用这个sql语句建立的表格:
    CREATE TABLE cat
    (
        CatID INTEGER NOT NULL PRIMARY KEY, 
        name VARCHAR(12) NOT NULL
    );或者映射文件Cat.hbm.xml有问题?
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
        
    <hibernate-mapping>
    <class name="Cats" table="cat">
        <id
            name="catId"
            type="java.lang.String"
            column="CatID"
        >
            <generator class="unsigned" />
        </id>    <property
            name="name"
            type="java.lang.String"
            column="name"
            length="32"
        />
    </class>
    </hibernate-mapping>
      

  2.   

    你的Generator Class写得不对,
    你没有指定正确的Id生成方法。
    你可以试一下
    <generator class="native" />
    或者increment
      

  3.   

    呵呵,搞掂了,是自己的问题,Cats类的ID设成String了,结贴!