eas之Uuid和BOSUuid 区别

    BOSUuid 加入了BOSType的概念,这个唯一码跟 BOSType有关,里面包含了BOSType的信息。 根据BOSType可以生产BOSUuid,同样,根据BOSUuid也可以找到BOSType.
    BOSUuid与ObjectUuidPK :
    BOSUuid表示数据库分录的ID,可以理解为数据库行的ID, 本质上,两者是一致的。只是在理解的角度不一样,一个从数据库的角度,一个从java对象的角度。
    (1) BOSUuid –> IObjectPK:IObjectPK pk = new ObjectUuidPK(uuid);
    (2) IObjectPK –> BOSUuid:BOSUuid.read(pk.toString());
    (3) BOSUuid和IObjectPK –> String:uuid.toString()和pk.toString();
    (4) String –> BOSUuid和IObjectPK:
    BOSUuid.read(id);
    IObjectPK pk = new ObjectUuidPK(BOSUuid.read(id));
    BOSUuid 与ObjectUuidPK 的区别: BOSUuid表示数据库分录ID,可以理解为数据库行ID, 数据库行对应一个java对象,所以就用ObjectUuidPK表示java对象的ID. 本质上,两者是一致的。只是在理解的角度不一样,一个从数据库的角度,一个从java对象的角度
    //EAS通过单据ID获得单据实体BOSTYPE  
    BOSUuid.getBOSObjectType(billID, true);  

    new ObjectStringPK(this.editData.getId().toString();//转换成ObjectStringPK
    IObjectPK pk=new ObjectUuidPK(id);//转换成IObjectPk类型

    String,BOSUuid,IObjectPK之间的相互转换
    通过对象直接获取的Id类型为BosUuid类型,根据Id获取对象时,要求参数为主键IObjectPK类型
    通常前后台调用接口传参时,使用的是String类型,因此需要集中类型至今相互转换
    String id="ssss";
    IObjectPK pk=new ObjectStringPK(id);//主键
    //通过主键获取对象
    XXXXInfo info=XXXXFactory.getRemoteInstance().getXXXInfo(pk);
    //id Uuid pk之间相互转换
    BOSUuid Uuid=info.getId();
    pk=new ObjectUuidPK(Uuid);
    info.setId(BosUUid.create(info.getBOSType()));//设置新的id

posted @ 2019-06-04 15:18  一条有梦想的海洋咸鱼  阅读(1177)  评论(0编辑  收藏  举报