以上异常一直在抛出创建一个hibernate会话工厂.

在应用程序lib文件夹中有hibernate-jpa-2.1-api和javax.persistence.2.1.0.我可以在两个jar中看到NamedStoredProcedureQuery类.但我得到classnotfoundexception的运行时错误.有什么建议吗?
我试图理解“Hibernate 会话不是线程安全的”的含义。我已经知道的(如果我错了请纠正):
这解释了在不同会话之间共享实体时可能会出现的问题。
我无法理解的是,当 Session 在 2 个或更多线程之间共享时可能会出现问题。我知道 Session 中的方法不是线程安全的,可能会导致竞争条件等,但不清楚如何?如果有人可以用示例进行解释或列出一个或多个场景来澄清,我将不胜感激。
提前致谢
java multithreading hibernate race-condition hibernate-session
在我们的Web应用程序中,我们有一个HibernateSessionFactory类,即打开和关闭连接.一切都很好,但是当我们更新数据库中的数据时,它在我们的应用程序中不会改变.不幸的是,我们从数据库中看到旧数据.我该如何解决?
public class HibernateSessionFactory {
private static final ThreadLocal threadLocal = new ThreadLocal();
private static org.hibernate.SessionFactory sessionFactory;
private static Configuration configuration = new Configuration();
private static ServiceRegistry serviceRegistry;
private static final Logger log = Logger.getLogger(HibernateSessionFactory.class);
static {
try {
configuration.configure();
serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties())
. buildServiceRegistry();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
} catch (Exception e) {
log.error("Error Creating SessionFactory",e);
}
}
private HibernateSessionFactory() {
}
public static Session getSession() throws HibernateException {
Session session = (Session) threadLocal.get();
if (session == …Run Code Online (Sandbox Code Playgroud) 我的要求:
我使用Quartz cron进行触发,许多触发器在同一行上运行但基于不同的列.所以当触发器需要更新其相关列时.触发第一次刷新(Session.refresh(object))对象属于它(从触发器开始时选择对象)从数据库,然后UPGRADE LOCK在行级别.如果获得锁定成功则更新列并用于session.update(object)在DB中更新.并释放锁.
session.refresh(Object, LockMode.UPGRADE)使用hibernate避免脏更新的替代方法和有效方法是什么?
为何在hibernate中弃用?