你都没初始化,
开始加上
      Configuration conf = new Configuration();
      sessionFactory = conf.configure().buildSessionFactory();
再44~~

解决方案 »

  1.   

    你说的初始化问题都已经在一个语句中解决啦
    SessionFactory sessionFactory = new Configuration().configure()
    .buildSessionFactory();这个不就相当于
    Configuration conf = new Configuration();
    SessionFactory sessionFactory = conf.configure().buildSessionFactory();
    不过我也换成这种方式试了一下,还是报错
    报错行出现在tx.commit()
      

  2.   

    SessionFactory sessionFactory = new Configuration().configure()
    .buildSessionFactory();
    好象已经初始化咯。
      

  3.   

    什么错误信息,还是nullpoint?
      

  4.   

    是啊,还是NullpointerException
     具体如下:
    java.lang.NullPointerException
    at com.mysql.jdbc.PreparedStatement.asSql(PreparedStatement.java:1845)
    at com.mysql.jdbc.PreparedStatement.toString(PreparedStatement.java:1770)
    at java.lang.String.valueOf(String.java:2131)
    at java.lang.StringBuffer.append(StringBuffer.java:370)
    at com.mysql.jdbc.trace.Tracer.printParameters(Tracer.aj:240)
    at com.mysql.jdbc.trace.Tracer.printEntering(Tracer.aj:167)
    at com.mysql.jdbc.trace.Tracer.entry(Tracer.aj:126)
    at com.mysql.jdbc.trace.Tracer.ajc$before$com_mysql_jdbc_trace_Tracer$1$f51c62b8(Tracer.aj:45)
    at com.mysql.jdbc.Connection.registerStatement(Connection.java)
    at com.mysql.jdbc.Statement.<init>(Statement.java:171)
    at com.mysql.jdbc.PreparedStatement.<init>(PreparedStatement.java:139)
    at com.mysql.jdbc.ServerPreparedStatement.toString(ServerPreparedStatement.java:851)
    at java.lang.String.valueOf(String.java:2131)
    at java.lang.StringBuffer.append(StringBuffer.java:370)
    at com.mysql.jdbc.trace.Tracer.printParameters(Tracer.aj:240)
    at com.mysql.jdbc.trace.Tracer.printEntering(Tracer.aj:167)
    at com.mysql.jdbc.trace.Tracer.entry(Tracer.aj:126)
    at com.mysql.jdbc.trace.Tracer.ajc$before$com_mysql_jdbc_trace_Tracer$1$f51c62b8(Tracer.aj:45)
    at com.mysql.jdbc.Connection.registerStatement(Connection.java)
    at com.mysql.jdbc.Statement.<init>(Statement.java:171)
    at com.mysql.jdbc.PreparedStatement.<init>(PreparedStatement.java:201)
    at com.mysql.jdbc.ServerPreparedStatement.<init>(ServerPreparedStatement.java:133)
    at com.mysql.jdbc.Connection.prepareStatement(Connection.java:1370)
    at com.mysql.jdbc.Connection.prepareStatement(Connection.java:1335)
    at net.sf.hibernate.id.IncrementGenerator.getNext(IncrementGenerator.java:64)
    at net.sf.hibernate.id.IncrementGenerator.generate(IncrementGenerator.java:42)
    at net.sf.hibernate.impl.SessionImpl.saveWithGeneratedIdentifier(SessionImpl.java:776)
    at net.sf.hibernate.impl.SessionImpl.save(SessionImpl.java:749)
    at my.demo.hibernate.ComputerCreate.main(ComputerCreate.java:38)
    Exception in thread "main"
      

  5.   

    这样试一下~~我也刚学,我是怎样写得,运行成功了。
    SessionFactory sessionFactory = new Configuration().configure()
    .buildSessionFactory(); Session session = sessionFactory.openSession();
    Transaction tx = session.beginTransaction();
    User user = new User();
    user.setId("1");
    user.setName("caterpillar");
    user.setSex('M');
    user.setAge(28);
    session.save(user);
    tx.commit();
    session.close();
    sessionFactory.close();
      

  6.   

    请教一下,你这种写法和我的有什么不同呢,我按照你这种写法运行也还是报同样的错误,你的配置文件是否也和我一致呢?我的数据库建表如下:
    CREATE TABLE `test`.`user` (
      `user_id` VARCHAR(32) NOT NULL,
      `name` VARCHAR(16) NOT NULL,
      `sex` CHAR(1),
      `age` INTEGER,
      PRIMARY KEY(`user_id`)
    )
    ENGINE = InnoDB;
    跟数据库建表是否有关呢?
      

  7.   

    mapping file中设置id属性的unsaved-value=null,因此如果id属性不为null,Hibernate将认为数据库中已存在该对象。你的代码中设置了id为"1",但数据库中又没有id="1"的对象,这可能是导致NullPointException的原因。
    根据你的Mapping file,Hibernate自动为新User对象产生id属性的。id=null的user对象被认为是新对象。
      

  8.   

    <id name="id" column="user_id" type="string" length="32">
          <generator class="assigned"/> 
    </id>
      

  9.   

    你使用的是hibernate 32位主键生成算法 不可以对主键进行赋值 将user.setId("1");去掉就没有问题拉
      

  10.   

    SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
    有问题,Hibernate默认的是初始化"/hibernate.cfg.xml"这个文件,不在WEB环境中,你这个文件放的位置有可能不对,你可能在new Configuration().configure("config文件的绝对路径"),试试!