ORM使用注意
2016-05-30 21:46
253 查看
理解持久和非持久状态:
create操作传入对象是非持久态的(自己new出来的),create完成后对象变成持久态
retrieve(read)操作从数据库读取到的对象都是持久化状态,直到会话结束
update操作应该传入持久状态的对象(先读取,后修改,最后更新)
delete操作可以直接删除,但也应该先读取,再删除(中间可以进行权限判断等)
级联读取
级联层次不能太多,防止一次性读取太多数据
级联分一对多和多对一,一对多要防止多的一方数量太大
缓存
一级缓存只在当前会话中有效,一个会话中重复查询一个对象,后面几次查询只是读取缓存
二级缓存数据量增大时命中率下降,可以使用memcached等
事务范围
缩短事务范围,提高数据库的并发性能
create操作传入对象是非持久态的(自己new出来的),create完成后对象变成持久态
retrieve(read)操作从数据库读取到的对象都是持久化状态,直到会话结束
update操作应该传入持久状态的对象(先读取,后修改,最后更新)
delete操作可以直接删除,但也应该先读取,再删除(中间可以进行权限判断等)
级联读取
级联层次不能太多,防止一次性读取太多数据
级联分一对多和多对一,一对多要防止多的一方数量太大
缓存
一级缓存只在当前会话中有效,一个会话中重复查询一个对象,后面几次查询只是读取缓存
二级缓存数据量增大时命中率下降,可以使用memcached等
事务范围
缩短事务范围,提高数据库的并发性能
相关文章推荐
- xml解析之使用dom4j的api对xml文件进行CRUD(二)
- xml解析之使用dom4j的api对xml文件进行CRUD(二)
- Ubuntu Java Envrioment
- Loadrunner安装
- [hge] distort.h distort.cpp
- ldpack工作日记-2016/5/30
- Genymotion加速下载虚拟镜像速度慢失败Connection timeout
- Maven起航之旅--入门篇(一)
- layer分页的使用
- linux shell 编程笔记 - shell脚本之变量
- Merge k Sorted Arrays
- Scala学习笔记
- C++包含c头文件&读取程序输入参数
- memched1.0源码阅读(4)——事件的处理流程
- STM32F0xx_DMA收发USART数据配置详细过程
- iscc2016-basic-心灵鸡汤
- LLVM example for main
- 深入学习java并发编程:CopyOnWriteArrayList<E>实现
- linux 下的软链和硬链
- Java中初始化顺序