六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 37|回复: 0

neodatis.odb 第四篇 查询

[复制链接]

升级  46.33%

99

主题

99

主题

99

主题

举人

Rank: 3Rank: 3

积分
339
 楼主| 发表于 2013-1-27 05:00:26 | 显示全部楼层 |阅读模式
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
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表