Java org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge.nextTimestamp

Java org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge.nextTimestamp,java,hibernate,Java,Hibernate,请帮助: 我尝试使用hibernate向表中添加详细信息时出现以下错误: NullPointerException org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge.nextTimestamp(RegionFactoryCacheProviderBridge.java:93) SessionFactoryImpl.openSession(SessionFactoryImpl.java:639) SessionFact

请帮助: 我尝试使用hibernate向表中添加详细信息时出现以下错误:

NullPointerException
org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge.nextTimestamp(RegionFactoryCacheProviderBridge.java:93)
SessionFactoryImpl.openSession(SessionFactoryImpl.java:639)
SessionFactoryImpl.openSession(SessionFactoryImpl.java:648)
com.package1.service.AuthenticateUser.addUser(AuthenticateUser.java:32)
com.package1.controllers.LoginServlet.doPost(LoginServlet.java:68)
认证者:

public class AuthenticateUser {


public void addUser(String uname, String uemail, String usrnme,
        String upass) {
    Session session = factory.openSession();    //Line No:32
    Transaction txn = session.beginTransaction();
    user.setName(uname);
    user.setEmail(uemail);
    user.setUsrname(usrnme);
    user.setPassword(upass);
    txn.commit();
    session.save(user);
    session.close();
    factory.close();
}

private static SessionFactory factory = HibernateSessionManager
        .getSessionFactory();
private User user = new User();
}

在LoginServlet中,我呼叫
authenticateUser.addUser(“abcdef”、“abcdef”、“abcdef”、“abcdef”)

您正在关闭factory对象,因此尝试使用它打开会话有可能导致此类崩溃(下次调用时)

删除此行:

factory.close();

尝试转换此顺序:

 txn.commit();
 session.save(user);
像这样:

   session.save(user);
   txn.commit();

一个可能的原因是您在保存对象之前提交了事务。这是完全错误的。写一行
txn.commit()会话后保存(用户)