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语句,但是数据库没有结果

    事务是否没开启

  • 相关阅读:
    Kali渗透测试——UPNP网关发现工具Miranda
    Kali渗透测试——UPNP网关发现工具Miranda
    Kali渗透测试——EtherApe
    Kali渗透测试——EtherApe
    ValueError: Input 0 of node import/save/Assign was passed float from import/beta1_power:0 incompatib
    tensorflow C++:You must define TF_LIB_GTL_ALIGNED_CHAR_ARRAY for your compiler
    tensorflow C++手写数字识别
    使用C/C++编写Python扩展库
    软中断和硬中断
    系统调用和函数调用
  • 原文地址:https://www.cnblogs.com/FlySheep/p/5451262.html
Copyright © 2011-2022 走看看