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