학습 목표
이 모듈을 마치면 다음을 수행 할 수 있습니다.
- 자체 참조 구현
- 자기 참조를 정상적으로 그리고 역으로 쿼리합니다.
- 소유권의 영향 설명
- 자체 참조에 대한 명명 규칙 적용
다음과 같이 하나의 플레이어(부모)가 여러 플레이어(자식)와 연결될 수 있도록 만들고자 합니다.
[그림 2] 와 같은 설정으로 구현이 가능합니다.
자체 참조를 추가할 때 연결을 Player_Player라고 하므로 식별가능한 연결의 이름으로 바꾸는게 좋습니다.
역서는 'Apprentice_Buddy'라고 명명 했습니다.
자식은 연결의 소유자입니다 - 즉, 연결은 항상 자식을 통해 업데이트됩니다.
아무 플레이어든 다른 플레이어의 부모가 될 수 있기 때문에 무제한 레벨의 친구가 있는 구조를 구축할 수 있습니다.
쿼리
dataview안에 listview가 감싸져있는 형태. dataview는 한명의 player의 데이터를 가지고 있음. listview에서 dataview에 연결된 플레이어 목록을 가져오고자 할 떄 다음과 같이 XPath를 작성하면 된다.
[SoccerSquad.Apprentice_Buddy = '[%CurrentObject%]']
[그림 3]과 같이 Thimo와 연결되어있는 모든 player들이 리턴된다.
역방향 쿼리
[SoccerSquad.Apprentice_Buddy [reversed ()] = '[%CurrentObject%]']
[reversed ()] 표현식은 자체 참조에만 적용 할 수 있습니다.
연결을 오른쪽에서 왼쪽으로 읽는 대신 왼쪽에서 오른쪽으로 읽습니다.
'LowCode (Mendix) Advanced > Advanced Domain Model Skills' 카테고리의 다른 글
Date Time Handling (0) | 2024.09.06 |
---|---|
Index - Improving App Performance with Indexes and Reference Sets (0) | 2024.09.06 |
Improving App Performance with Indexes and Reference Sets (0) | 2024.09.04 |
Using the FileDocument and Image Entity (0) | 2024.06.21 |
Inheritance - being special and one of a kind (0) | 2024.06.18 |