hibernate学习记录2
来源:互联网 发布:淘宝网买帽子 编辑:程序博客网 时间:2024/05/16 07:07
Session的几个主要方法
1.save、presist保存数据,presist在事务外不会产生insert语句。
2.delete删除对象。
3.update更新对象,如果数据库中没有记录,会出现异常。
4.get根据ID查询,会立刻访问数据库。
5.load根据ID查询,返回的是代理,不会立即访问数据库。
6.saveOrUpdate,merge根据ID和version的值来确定是save或update,调用merge你的对象还是托管的。
7.lock把对象变成持久对象,但不会同步对象的状态。
----------------------------------------------------------------------------------------------------------------------------------------
hibernate对象的三种状态
瞬时(transient):数据库中没有数据与之对应,超过作用域会被jvm垃圾回收器回收,一般是new出来且与session没有关联的对象。
持久(presistent):数据库中有数据与之对应,当前与session有关联,并且相关联的session没有关闭,事务没有提交:持久对象状态发生改变,在事务提交时会影响到数据库(hibernate能够用检测到)。
托管(detached):数据库中有数据与之对应,但当前没有session与之关联:托管对象状态发生改变,hibernate不能检测到。(也称为游离态)
----------------------------------------------------------------------------------------------------------------------------------------
Query主要注意的方法
1.list以List集合的方式返回查询的数据
2.createQuery创建一个Query对象
3.uniqueResult当确定返回值只有一条时,使用该方法,否则报异常
4.setFirstResult、setMaxResults用于分页,hibernate通过配置文件中的方言来写不同的分页sql语句。
5.setString可以通过字符串来给hql语句赋值。
----------------------------------------------------------------------------------------------------------------------------------------
HQL(Hibernate Query Language)
hql与sql不同,hql是面向对象的语句,而sql是面向数据库的语句。
hql在数据库中是通用的,只需要在配置文件中修改方言就可以了,hibernate会对hql语句翻译成相对于数据库的sql语句。
- hibernate学习记录2
- Hibernate 学习记录 2
- Hibernate学习记录2
- Hibernate学习记录2 HQL常规操作
- Hibernate学习记录
- hibernate学习记录
- hibernate缓存学习记录
- hibernate学习记录1
- hibernate学习记录3
- hibernate学习记录5
- hibernate学习记录6
- hibernate学习记录7
- hibernate学习记录8
- Hibernate 学习记录
- Hibernate 学习记录 3
- Hibernate 学习记录 4
- Hibernate学习记录1
- 关于Hibernate学习记录
- WINCE--系统声音定制
- SQL Server 触发器
- pcntl_fork实现PHP多进程
- Android多分辨率适配解决方案
- 《算法概论》目录的思维导图
- hibernate学习记录2
- Android获取web服务器端session并验证登陆
- 在windows下发布QT程序遇到问题及解决
- 棋牌游戏运营黑客攻击是怎么回事
- 红帽推出开源业务流程管理套件:JBoss BPM Suite 6
- Google Guava 工具集简介-使用
- [架构设计] 浅谈简洁与全面,智能与可配置
- Android Linux Kernel 移植流程
- maven+jetty项目 启动后 无法修改加载后的资源文件问题