zoukankan      html  css  js  c++  java
  • Session接口常用方法

    org.hibernate.Session接口

    beginTransaction  
      开启事务

    clear
      清缓存

    close
      关闭session

    connection  -  过时
      获取Connection连接

    delete
      删除一个对象
      如果对象不存在,会报错

    flush
      让session与数据库进行一次同步

    get
      通过主键从数据库获取一条记录

    load
      与get类似,也是从数据库获取一条记录
      但是load是懒加载,不会立刻访问数据库,第一次使用返回对象的时候才会访问访问数据库
      load返回的对象永远不可能为空,因为它会自己new一个对象,所以千万不要用==null判断load是否有效
      
    merge
      更新一条记录
      存在则更新,不存在就插入

    persist
      与save类似,也是保存一条记录
      区别在于,如果不开启事务,persit是不会执行insert语句的。save方法会插入数据库,之后再混滚

    refresh
      重新读取

    save
      保存

    saveOrUpdate
      保存或更新

    update
      更新
      如果数据库中没有对应的记录,会产生异常



    session接口是非线程安全的,也就是说一个session实例同时只可由一个线程使用,多线程并发调用会产生难以预知的问题







  • 相关阅读:
    java程序高CPU,如何直接定位(linux系统下命令行操作)
    HashMap源码解读(jdk1.8)
    mysql索引原理
    redis常见问题
    Bitmap算法
    list遍历时删除的坑
    接口和抽象类有什么区别?各在什么场景下使用?
    记录BigInteger犯过的一个错误
    CentOS7切换源
    map遍历性能记录
  • 原文地址:https://www.cnblogs.com/sherrykid/p/4575582.html
Copyright © 2011-2022 走看看