砂漠の毒虫的博客

砂漠の毒虫サソリ - さそり座

作业02:第二次作业

重要!本博文非自愿编写,详见:关于本博客目前情况下,所有内容的声明。

1.在 hibernate.cfg.xml 中添加下述配置

<property name="hibernate.current_session_context_class">thread</property>

2.Util 工具类

import java.util.function.*;
import org.hibernate.*;
import org.hibernate.cfg.*;
public class Util
{
    private static final SessionFactory sessionFactory=new Configuration().configure().buildSessionFactory();
    private static final ThreadLocal<Session> threadLocal=ThreadLocal.withInitial(sessionFactory::openSession);
    private static final Supplier<Session> sessionSupplier=sessionFactory::getCurrentSession;
    public static Session getCurrentSession()
    {
        //调用Supplier获取返回值。
        return sessionSupplier.get();
    }
    public static Session getSession()
    {
        //由"ThreadLocal.withInitial"中的Supplier参数确保get返回值必不为空。
        return threadLocal.get();
    }
    public static void closeSession()
    {
        //由"ThreadLocal.withInitial"中的Supplier参数确保get返回值必不为空。
        threadLocal.get().close();
        //移除ThreadLocal中的Session,确保下次调用get方法重新调用"ThreadLocal.withInitial"中的Supplier参数。
        threadLocal.remove();
    }
}

阅读更多
想对作者说点什么? 我来说一句

北理图像处理作业第二次

2015年03月15日 1.07MB 下载

C++语言程序设计作业2 答案

2008年11月07日 472B 下载

没有更多推荐了,返回首页

不良信息举报

作业02:第二次作业

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭