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实例同时只可由一个线程使用,多线程并发调用会产生难以预知的问题