Jackrabbit OCM(二)——ObjectContentManager对象
来源:互联网 发布:sql显示前10行 编辑:程序博客网 时间:2024/05/21 02:35
上一篇文档中已提到过ObjectContentManager对象是OCM框架对外提供的非常重要的API,通过它可以完成如下功能:
一、Jackrabbit CURD操作:
在Hinbernate框架中,数据库的CURD操作主要通过Session对象来完成,ObjectContentManager对象提供了类似于Session的相关方法,来操纵jackrabbit的存储结构,包括:
ocm.insert(entity);//新增实体
ocm.update(entity);//更新实体
ocm.remove(entity);//删除实体
注:以上方法对持久层的操作都是瞬态的,最后需要调用ocm.save()方法来执行保存操作,类似于事物的提交。
除此之外ObjectContentManager对象还声明了大量的get*()方法用于存储结构查询
查询参数query由QueryManager对象负责创建、管理,可通过ObjectContentManager来获取该对象的实例:
QueryManager queryManager=ocm.getQueryManager();
查询条件由Filter对象封装,相当于sql语句中的where从句:
Filter filter=queryManager.createFilter(Entity.class);//Entity.class为要查询的实体类
filter.addEqualTo(prop,value);//指定查询条件
filter.setScope(path);//指定查询范围,在哪个路径节点下
查询语句由Query对象封装:
Query query=queryManager.createQuery(filter);
有了Query对象之后,便可以通过ObjectContentManager所提供的API方法返回相应的查询结果:
ocm.getObject(query);//返回单一查询对象
ocm.getObjects(query);//返回查询集合
ocm.getObjectIterator(query);//返回查询结果遍历器
二、Locking功能
1.加锁功能通过ObjectContentManager对象的lock方法来实现
String lockToken=ocm.lock(nodePath,isDeep,isSessionScoped);
方法参数:
nodePath:节点路径
isDeep:是否深度加锁
isSessionScoped:是否是session生命周期内的加锁
2.解锁操作通过unlock方法来完成,需要有加锁时候的令牌
ocm.unlock(nodeoath,lockToken);
3.判断节点是否处于锁定状态:
ocm.isLock(nodePath);
三、Version功能
ocm.checkout(nodePath);//当前版本node节点签出
ocm.checkin(nodePath,lables);//版本签入,并附加相关标签
ocm.getAllVersionLabels(nodePath);//指定节点的所有标签信息
ocm.getVersionLabels(nodePath,version);//指定节点在指定版本的标签信息
- Jackrabbit OCM(二)——ObjectContentManager对象
- Jackrabbit OCM(二)——ObjectContentManager对象
- jackrabbit OCM(三)——映射应用1
- jackrabbit OCM(三)——映射应用1
- jackrabbit OCM(一)
- jackrabbit OCM(一)
- OCM Exam — 手动建库
- 极简ftp——基于jackrabbit-2.6.5
- 详析 Jackrabbit 各个模块 (二)
- Oracle 官方学习文档整理——OCP & OCM
- OCM Exam — 手动创建监听和TNS
- jackrabbit security
- jackrabbit sample
- jackrabbit version
- JackRabbit随笔
- 晒晒OCM
- JSP内置对象(二)——response对象
- JavaScript中的对象(二)——原型对象
- ZJU 3418 Binary Number
- ABAP - 程序模板 - 表维护
- 信号量 互斥锁 条件变量的区别
- Handler总结
- iccid
- Jackrabbit OCM(二)——ObjectContentManager对象
- hdu 1385 Minimum Transport Cost
- 远控软件gh0st源码免杀之我谈
- 程序编码
- Usaco 1.2.4 回文平方数(Palindromic Squares)
- 关于java的初始化顺序
- v8 js 转载!~简介!~
- ie php上传图片 判定类型
- Activity的四种加载模式-转载自www.ligoto.com网站