session的几个主要方法:
1:sava,persist保存数据,persist没有开启事务的情况下,是不会产生insert语句。
2:delete,删除对象
3:update,更新对象,如果数据库中没有记录,则会发生异常。
4:get,根据id查,如果缓存有,从缓存取,否则会立刻访问数据库。如果没有查找到对应的记录,get返回null
5:load,根据id查,返回的是代理,不会立刻访问数据库,如果找到对应的记录,load返回objectnotfoundexception
6:savaOrUpdate(有时候我们并不知道对象处于瞬时的还是脱管的,这时候我们可以使用savaOrUpdate函数,hibernate会帮我们判断,判断的依据是根据id(如果我们没有设置id的unsave-value的值则基本类型如int,默认为0,引用类型,为null)。
7:merge(根据id和version的值来确定是save或者update),调用merge,你的对象还是脱管的。
8:lock(把对象变成持久对象,但是不会同步对象的状态)。