Hibernate学习-3-API详解以及执行流程

来源:互联网 发布:php二进制转换字符串 编辑:程序博客网 时间:2024/06/14 12:55
Hibernate-API

|--Configuration      配置管理类对象

         config.configure(); //加载主配置文件-hibernate.cfg.xml

   config.configure("src/hibernate.cfg.xml"); //根据指定路径加载主配置文件

         config.buildSessionFactory();  //创建session的工厂对象

 

|--SessionFactory    加载配置管理类

         sf.openSession();   创建一个session对象

         sf.getCurrentSession();   创建session或取出session对象

|--Session    session 对象维护了一个连接,代表了与数据库连接的会话

        session.beginTransaction();  开启一个事务

        hibernate要求所有的与数据库的操作必须有事务的环境,否则报错

        session.save(对象的引用);

        session.update();

demo

    @Test    public void testHello() {        //对象        Employee emp = new Employee();        emp.setEmpId(1);        emp.setEmpName("张三");        emp.setWorkDate(new Date());        Session session = sf.openSession();        //开启事务        Transaction tx = session.beginTransaction();        //保存-数据库        //session.save(emp);                //更新必须要有主键        session.update(emp);        //提交事物        tx.commit();        //关闭        session.close();                sf.close();    }

主键查询  

      Employee employee = (Employee)session.get(Employee.class,1);
      Employee employee = (Employee)session.load(Employee.class,1);//支持懒加载

保存或者更新

 没有设置主键,执行保存;有设置主键,执行更新操作(如果设置主键不存在,报错)。

session.saveOrUpdate(emp);

 

|--Transaction

        事务对象

 

0 0
原创粉丝点击