*设为首页
*加入收藏
热门关键字: JAVA
>>当前位置:Java大本营>环境配置>文章内容
不同版本MyEclipse生成的HibernateSessionFactory是有不同的
作者: 发布时间:2008-09-02 10:29:02

不同版本MyEclipse生成的HibernateSessionFactory是有不同的:

,MyEclipse4.1(对应Eclipse3.1)中只生成HibernateSessionFactory,不生成相关的DAO,也没有相关的getSession()函数,

 

则访问Session 要用

SessionFactory sf = new Configuration().configure().buildSessionFactory();

              Session session = sf.openSession();

              Transaction tx = session.beginTransaction();

             

             

              Student student = new Student();

              student.setUsername("hibernateasdfjj");

              student.setPassword("q11");

              student.setAge(22);

             

              session.save(student);

             

              tx.commit();

              session.close();

 

 

,6.5MyEclipse ,生成了相关的DAO,并且有getSession()函数

 

 

访问对象时比较简单,并且是线程安全的,注意各种DAO类的继承关系(SessionBaseHibernateDAO 中调用了HibernateSessionFactory.getSession();其中是通过线程调用             

       Session session = (Session) threadLocal.get();

              if (session == null || !session.isOpen())

{

                     if (sessionFactory == null)

 {

                            rebuildSessionFactory();

                     }

                     session = (sessionFactory != null) ? sessionFactory.openSession(): null;

                     threadLocal.set(session);

              })

在获得 session的时候是先去threadLocal上取 如果取到了就直接返回,取不到SessionFactory 生成一个 通过set注册到当前线程上.本质上还是一样的

// 实例化 DAO

              TeacherDAO dao = new TeacherDAO();

              // 打开 transaction

              Transaction tran = dao.getSession().beginTransaction();

              // 生成普通 Java

              Teacher bean = new Teacher();

              // 设置属性

              bean.setId("20080902");

        

              // 插入数据

              dao.save(bean);

              // 提交事务

              tran.commit();

             

              // 读取数据

              java.util.List<Teacher> results = dao.findAll();

             

              // 列出列表中的所有数据

              for(Teacher o : results) {

                     System.out.println("ID:" + o.getId());

                     //

              }

             

              dao.getSession().close();


· Struts 2视频开发教程--第二讲,第一(09-02)
· 关于Http和Hibernatet里面Session的区(09-02)
· 从http协议看无法获取网页charset的原(09-02)
·Tomcat安装配置 (01-20)
·Windows下JAVA和ANT的环境变量设置 (01-07)
·合Struts+Spring+hibernate加载出错终(01-07)
·Struts环境配置手册[Eclipse] (01-06)
·java环境变量设置参考 (12-08)
·Linux环境下Mysql+Tomcat 配置 (12-05)
·Java获取Html变量的值(12-03)
·java环境变量的配置(12-03)
·java:默认变量初始化(12-03)
复制地址发给您的好友: [推荐文章] [返回顶部] [关闭窗口]
版权所有 Java大本营 1999-2007 转载请注明出处