Hibernate五大核心接口

来源:互联网 发布:mpi编程 编辑:程序博客网 时间:2024/06/07 11:37
 
  • 发表于 12个月前 
  • 阅读 1028 
  • 收藏 10 
  • 点赞 0 
  • 评论 0
摘要: 使用Hibernate必须会使用的五大接口(Configuration、SessionFactory、Session、Transaction、Query和Criteria)编程,进行详细的描述

  1. 首先我们介绍一下Configuration接口:配置Hibernate,根据其启动Hibernate,创建SessionFactory对象;

     具体使用代码实例:

SessionFactory sf = new Configuration().configure().buildSessionFactory();SessionFactory stf = new AnnotationConfiguration().configure().buildSessionFactory();   //当使用注解来实现持久化时则使用AnnotationConfiguration来创建SessionFactory


 2. SessionFactory接口:初始化Hibernate,充当数据存储源的代理,创建session对象,SessionFactory是

      线程安全的,意味着它的同一个实例可以被应用的多个线程共享,是重量级二级缓存;

  具体使用代码示例:

Session session = sf.openSession();      //创建一个Session


3. Session接口:负责保存、更新、删除、加载和查询对象,是一个非线程安全的,避免多个线程共享一个session,是轻量级,一级缓存。

session.save(tea);     //具体使用过程中要在前后加上事务,tea为某实体类对象

4. Transaction接口:管理事务。可以对事务进行提交和回滚;

    具体使用代码示例:

session.beginTransaction();     //由于Hibernate使用事务所以这里要开启事务session.getTransaction().commit();   //提交

5.Query和Criteria接口:执行数据库的查询。Criteria由session创建

Criteria criteria = session.createCriteria(Teacher.class); //参数为被操作的pojo类, 反射机制.Criteria中可以增加查询条件criteria.add(Expression.eq("name", "Tom"));criteria.add(Expression.eq("age", new Integer(20)));

相当于查询语句:select * from t_user where name='Tom' and sex=20

0 0