Java org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge.nextTimestamp
请帮助: 我尝试使用hibernate向表中添加详细信息时出现以下错误: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
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()代码>会话后保存(用户)代码>