是。够了
当设置
hibernate.current_session_context_class到
thread,从返回的会话
SessionFactory.getCurrentSession()是从
ThreadLocal实例。
每个线程将拥有自己的独立
ThreadLocal实例,因此不同的线程将无法访问同一hibernate会话。
的行为
SessionFactory.getCurrentSession()是:如果在当前线程中第一次调用它,则会打开并返回一个新的Session。如果在同一线程中再次调用它,将返回相同的会话。
结果,您只需调用即可获得同一会话,以在同一事务代码中的不同DAO方法中使用
SessionFactory.getCurrentSession()。如果必须在同一事务代码中调用许多不同的DAO方法,则可以防止您通过DAO方法的输入参数传递Hibernate会话。



