ThreadLocal<Session> tl = new ThreadLocal<Session>();
tl.set(session);
获取会话,
Employee emp = (Employee)((Session)tl.get().get(Employee.class, 1));
如果我们的应用程序是基于 Web 的,那么 Web 容器会为每个请求创建一个单独的线程。如果所有这些请求同时使用同一个 Session 对象,我们应该在我们的数据库操作中得到不需要的结果。为了克服上述结果,最好将我们的会话设置为不允许并发使用会话的线程本地对象。我认为,如果正确,应用程序性能应该很差。在上述情况下有什么好的方法。如果我走错了路,在哪些情况下我们需要使用 ThreadLocal。我是hibernate的新手,如果这种类型的提问很愚蠢,请原谅。提前致谢。