Hibernate Part1
来源:互联网 发布:詹姆斯身体素质知乎 编辑:程序博客网 时间:2024/05/16 07:41
– 原作者: 尚硅谷-佟刚
increment:在原来的基础上自增
identity:主键自增(适用MySQL)
hilo:采用高低算法来生成主键
native:依据底层数据库对自动生成标识符的支持能力(跨平台)
News news1=(News)session.get(News.class, 1); news1.setTitle("GG");
dynamic-update:属性设置为false,true时SQL语句的变化
false:Hibernate: update NEWS set TITLE=?, AUTHOR=?, DATE=?, CONTENT=?, IMAGE=? where id=?true:Hibernate: update NEWS set TITLE=? where id=?
update 方法:
1.若更新一个持久化对象,不需要显示的调用update方法. 因为在调用Transaction的commit()方法时,会先执行session的 flush方法 2.更新游离对象时,需要现实的调用session的update方法.可以把一个游离对象变为一个持久化对象 需要注意的: 1.无论要更新的游离对象和数据表得记录是否一致,都会发送update语句 如何让update方法不盲目的触发update语句呢? 在.hbm.xml文件的class节点设置select-before-update=true(默认false) 但通常不需要设置该属性. 2.若数据表中没有对应的记录,但还调用了update方法,会抛出异常. 3.当update()方法关联一个游离的对象时,如果session缓存中已经存在相同OID的持久化对象,会抛出异常 因为在session缓存中不能有两个OID相同的对象.
get VS load:
1.执行get方法:会立即加载对象
执行load方法,若不使用该对象,则不会立即执行查询操作,而返回一 个代理对象 get是立即检索,load是延迟检索
2.load方法可能会抛出 LazyInitializationException异常
在需要初始化代理对象之前已经关闭了Session
3.若数据表中没有对应的记录,且Session也没有被关闭,同时需要使用对象时.get 返回null load 抛出异常.
refresh():会强制发送select语句,以使Session缓存中的对象的状态和数据表中的对应的记录保持一致!
flush:使数据表中的记录和Session缓存中的对象的状态保持一致,为了保持一致,则可能会发送对应的sql语句
1.在Transaction的commit()方法中,先调用session的flush方法,再提交事务
2.flush()方法可能会发送sql语句,但不会提交事务.
3.注意: 在未提交事务或显示调用session.flush()方法之前,也有可能会进 行flush操作.
1).执行HQL或QBC查询,会先进行flush()操作,已得到数据表中最新的记 录
2).若记录的ID是由底层数据库使用自增的方式生成的,则会在调用save方法后,就立即发送INSERT语句
因为save方法后,必须保证对象的ID是存在的!
- Hibernate Part1
- part1
- PART1
- PART1
- Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) part1
- SyntaxHighlighter part1
- MileStone(part1)
- struts part1
- js part1
- Part1:CException
- Graphs part1
- RxAndroid--Part1
- my_string-part1
- linux-part1
- TimeBake:part1
- html-part1
- za_na part1
- WebRTC Part1
- 洛谷P2730 魔板 Magic Squares
- 数据库信息配置化
- webservice Axis {http://xml.apache.org/axis/}stackTrace:java.net.ConnectException: C
- 最大序列和问题
- 猜拳游戏(基于python面向对象2)
- Hibernate Part1
- Unix域协议
- 三种连接方式:bridge,NAT,host-only的区别
- C 语言中的指针
- Web简单文件下载
- Unix域套接字
- 「bzoj1095」ZJOI2007 HIDE
- React Native获取地理位置(获取具体城市、经纬度)
- NFS