이 글은 Windchill 의 OID 를 구성하는 VR 과 OR 접두어에 대한 의미를 소스코드를 이용하여 설명합니다.
VR - Version Reference #
VR 의 의미 #
VR
은 Version Reference
의 약자입니다.
Version Reference
는 주어진 버전의 최신 Iteration을 참조합니다.
VR 를 Query 하는 방법 #
Windchill 에서 하나의 버전을 Branch
라 표현하고, 모든 Iteration 은 자신이 속한 버전의 Branch ID
를 가지고 있습니다.
VR 를 나타내는 문자열은 VR:<전체클래스명>:<브랜치ID번호>
로 표현합니다.
다음과 같은 방법으로 VR이 참조하는 객체를 검색할 수 있습니다.
select * from WTPart where BranchIdIterationInfo=<vid> and LatestIterationInfo=1;
OR - Object Reference #
OR 의 의미 #
OR
은 Object Reference
의 약자입니다.
OR 은 고유한 객체 하나만을 참조합니다.
VR 은 데이터가 수정됨에 따라 참조하는 객체가 달라질 수 있지만, OR 은 변하지 않습니다.
OR 을 Query 하는 방법 #
OR 은 특정 객체를 참조하며, 문자열 형태의 표기방법은 OR:<클래스명>:<객체ID번호>
로 표현합니다.
다음과 같은 방법으로 OR이 참조하는 객체를 검색할 수 있다.
select * from WTPart where ida2a2=<oid_number>
Reference Factory 다루기 #
OID를 이용한 객체의 Access를 시도할 경우에는 ReferenceFactory 클래스를 이용할 것이 편리합니다.
문자열 참조로 객체 얻기 #
문자열 형태의 Reference 를 이용하여 객체를 가져올 경우, 다음과 같이 사용할 수 있습니다.
String oid = "VR:wt.doc.WTDocument:1111";
ReferenceFactory rf = new ReferenceFactory();
WTDocument doc = (WTDocument)rf.getReference(oid).getObject();
객체로 부터 문자열 참조 얻기 #
객체로 부터 문자열형태의 Reference 를 얻고자 할 경우, 다음과 같이 사용할 수 있습니다.
WTDocument doc = ....
ReferenceFactory rf = new ReferenceFactory();
String oid = rf.getReferenceString(doc);