zoukankan      html  css  js  c++  java
  • Hibernate API

    Configuration:配置管理类对象

    config.configure():加载主配置文件的方法(hibernate.cfg.xml),默认加载src/hibernate.cfg.xml
    config.configure("cn/config/hibernate.cfg.xml"):加载指定路径下指定名称的主配置文件
    config.buildSessionFactory():创建session的工厂对象

    SessionFactory:session的工厂(或者说代表了这个hibernate.cfg.xml配置文件)

    sf.openSession():创建一个session对象
    sf.getCurrentSession():创建或取出session对象

    Session:session对象维护了一个连接(Connection),代表了与数据库连接的会话。Hibernate最重要的对象;只要使用hibernate与数据库连接操作,都要用到这个对象。

    session.beginTransaction():开启一个事务;Hibernate要求所有对数据库的操作都要有事务的环境,否则报错!

    更新

    session.save(obj):保存一个对象
    session.update(obj):更新一个对象
    session.saveOrUpdate(obj):没有设置主键执行保存,有设置主键更新;如果设置主键不存在报错!

    主键查询

    session.get(Object.class, 1);主键查询
    session.load(Object.class, 1):主键查询(支持懒加载)

    HQL查询

    HQL查询与SQL查询区别:SQL查询的是表以及字段;HQL:hibernate query language即hibernate提供的面向对象的查询语言,查询的是对象以及对象的属性。区分大小写。

    Criteria查询

    也叫QBC查询,query by criteria 完全面向对象的查询

    本地SQL查询

    复杂的查询,就要使用原生态的SQL查询,也可以,就是本地SQL查询
    缺点:不能跨数据库查询

    Transaction:Hibernate事务对象

    共性问题

    ClassNotFoundException

    缺少jar文件

    如果程序已执行,也执行了SQL语句,但是数据库没有结果

    事务是否没开启

  • 相关阅读:
    create mysql database
    mysql install
    mac os vim 乱码
    Three.js 基础入门
    Echarts修改提示框及自定义提示框内容
    Echarts3实例 南丁格尔饼图
    南丁格尔玫瑰图3
    Echarts实战案例代码:饼图pie之南丁格尔玫瑰图rose实现代码
    记录下vue 中引用echarts 出现 "TypeError: Cannot read property 'getAttribute' of undefined"问题
    echarts 中国地图,根据省份数值高低改变省份颜色深浅
  • 原文地址:https://www.cnblogs.com/FlySheep/p/5451262.html
Copyright © 2011-2022 走看看