GreenDao官方文档翻译(四)之Sessions
来源:互联网 发布:linux0.11内核源码 编辑:程序博客网 时间:2024/04/27 14:39
GreenDao官方文档翻译(四)之Sessions – identity scope and session cache
Sessions
产生的DaoSession类是greenDAO的中间接口。DaoSession提供给开发者连接“实体”与“DAOs”的复杂操作集的基本方法。
DaoMaster & DaoSession
如前面部分所述,你需要创建一个DaoMaster实体以获取DaoSession实体。
daoMaster = new DaoMaster(db);daoSession = daoMaster.newSession();
注意数据库连接属于DaoMaster管理,所以所创建的所有session连接的是同一个database实体。因此新的Session可以被快速创建。每一个Session对象分配的内存其实是实体对象的“缓存”。
标识域与Session“缓存”
如果你有两个请求,需要返回同一条数据库对象,那么我们获取的java对象时同一个还是,两个不同的呢?这完全取决于Identity scope。
默认的greenDao对于多条请求会返回同一java对象的引用。例如,通过不同的请求从USER表中载入ID为42得Java对象的引用相同。
其实这种缓存机制也会引起一些“副作用”。如果一个实体对象仍然在内存中,实体将不会重新构造。执行请求时会立即从Session缓存中获取,而不是从数据库中获取。
清除标识域
为了清除所有Session的标识域,不返回缓存的对象。你可以执行:
daoSession.clear();
为了清除单个DAO的标识域,可以执行:
noteDao = daoSession.getNoteDao();noteDao.detachAll();
来清理Note对象的缓存。
阅读全文
0 0
- GreenDao官方文档翻译(四)之Sessions
- GreenDao官方文档翻译之(一)开始使用GreenDao
- GreenDao官方文档翻译
- GreenDao官方文档翻译
- Flume官方文档翻译之(四)
- greenDAO文档翻译之四:会话
- GreenDao官方文档翻译上
- GreenDao官方文档翻译下
- GreenDao官方文档翻译上
- GreenDao官方文档翻译下
- GreenDao官方文档翻译(三)之模型化实体-Schema & Annotations
- RabbitMQ官方文档翻译之Routing(四)
- GreenDao官方文档翻译上 下
- Mongo官方文档翻译 (四)
- 【翻译】Emmet(Zen Coding)官方文档 之四 动作
- Flume官方文档翻译之(一)
- Flume官方文档翻译之(二)
- Flume官方文档翻译之(三)
- Android 检测网络是否可用
- Core Animation实战四(视觉效果)
- Python3之epoll模型的两种工作模式
- JS复制内容到剪切板
- C#中的new的
- GreenDao官方文档翻译(四)之Sessions
- Primefaces+JSF中页面组件update刷新问题,求大神解惑!
- 【OPENGL&WEBGL】将OpenGL里的gluProject和gluUnProject函数web化
- 在word中页眉中有隐藏的小黑点,怎么删去
- Android中Activity四种启动模式和taskAffinity属性详解
- 流的概念和作用2
- 简单的素数筛法们
- 底部导航:BottomTabBar的简单应用
- 转圈游戏(快速幂的运用)