neodatis.odb 第四篇 查询
2008-05-17 03:44
337 查看
Objects objs=odb.getObjects(Entity.class) =>
ObjectReader.getObejcts(){
A=CollectionQueryResultAction
} =>
ObjectReader.getObejctInfos() =>
GenericQueryExecutor.executeFullScan()
【
A.Start():result=new SimpleList
matchObjectWithOid [ can get nnoi ] =>
AttributeValuesMap map=ObjectReader.readObjectInfoFromOID ->readNativeObjectInfo->
readAtomicNativeObjectInfoAsObject->FileSystemInfterface.readString
map:
【
A Map where keys are attributes names and values are the values of there attributes
map.setObjectInfoHeader(objectInfoHeader);
ClassAttributeInfo cai = classInfo.getAttributeInfoFromId(attributeId);
AbstractObjectInfo aoi = readNativeObjectInfo(cai.getAttributeType().getId(), attributePosition,
useCache, true, true);
object = aoi.getObject();
map.put(relationNameToSearch, object);
】
boolean=LikeCriterion.match(map)
<if boolean>
A.objectMatch(oid,nnoi){
B=A.getCurrentInstance =>
NonNativeObjectInfo B=InstanceBuilder.buildOneInstance(nnoi) {
1.Cache.getObjectWithOid
2.ClassInstrospector.newInstanceOf(clazz)
3. < for nnoi.getClassInfo() > 字段赋值过程
AtomicNativeObjectInfo C=nnoi.getAttributeValueFromId(id) 字段属性
value=C.getObject() =>
field.set(B,value);
</for>
</if boolean>
}
result.add(B)
A.end()
】
getObject()=>
return result
ObjectReader.getObejcts(){
A=CollectionQueryResultAction
} =>
ObjectReader.getObejctInfos() =>
GenericQueryExecutor.executeFullScan()
【
A.Start():result=new SimpleList
matchObjectWithOid [ can get nnoi ] =>
AttributeValuesMap map=ObjectReader.readObjectInfoFromOID ->readNativeObjectInfo->
readAtomicNativeObjectInfoAsObject->FileSystemInfterface.readString
map:
【
A Map where keys are attributes names and values are the values of there attributes
map.setObjectInfoHeader(objectInfoHeader);
ClassAttributeInfo cai = classInfo.getAttributeInfoFromId(attributeId);
AbstractObjectInfo aoi = readNativeObjectInfo(cai.getAttributeType().getId(), attributePosition,
useCache, true, true);
object = aoi.getObject();
map.put(relationNameToSearch, object);
】
boolean=LikeCriterion.match(map)
<if boolean>
A.objectMatch(oid,nnoi){
B=A.getCurrentInstance =>
NonNativeObjectInfo B=InstanceBuilder.buildOneInstance(nnoi) {
1.Cache.getObjectWithOid
2.ClassInstrospector.newInstanceOf(clazz)
3. < for nnoi.getClassInfo() > 字段赋值过程
AtomicNativeObjectInfo C=nnoi.getAttributeValueFromId(id) 字段属性
value=C.getObject() =>
field.set(B,value);
</for>
</if boolean>
}
result.add(B)
A.end()
】
getObject()=>
return result
相关文章推荐
- neodatis.odb 第二篇 一切都是比特
- neodatis.odb 第三篇 保存对象到文件的过程
- neodatis.odb 第一篇 存储对象的偏移地址
- neodatis.odb 第五篇 保存
- neodatis.odb 第六篇 更新和删除
- 一个neodatis-odb.jar包使用的例子
- neodatis.odb 第七篇 学习odb日志1
- [推荐]ORACLE SQL:经典查询练手第四篇(不懂装懂,永世饭桶!)
- 自学--数据库笔记--第四篇--多表连接查询
- MySQL 第四篇:SQL查询强化使用
- ORACLE SQL:经典查询练手第四篇
- 经典查询练手第四篇
- Oracle SQL:经典查询练手第四篇
- [推荐]ORACLE SQL:经典查询练手第四篇(不懂装懂,永世饭桶!)
- 数据库学习第四篇(对基本表数据的查询2)
- 【三】ODB - C++ 单表查询(V1.02)
- ElasticSearch查询 第四篇:匹配查询(Match)
- Oracle经典查询练手第四篇
- 【SSH三大框架】Hibernate基础第四篇:Hibernate的两种查询方式:hql和Criteria
- ORACLE SQL:经典查询练手第四篇