일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- microflow
- 정렬
- 알고리즘
- Recursion
- 재귀
- 프로그래머스
- git
- 집합
- dfs
- 그래프
- 반효경교수님
- 이분탐색
- 백트래킹
- lcap
- 자바
- Mendix
- Sort
- 트리
- 완전탐색
- 스택
- 가중치없는그래프
- 매개변수 탐색
- MySQL
- 자료구조
- 해시맵
- Bruteforce
- algorithm
- 멘딕스
- domain model
- SQL
- Today
- Total
mondegreen
[Mendix Docs] Domain model - Association 본문
Association
엔티티간 연관관계는 일대일, 일대다, 다대다로 설정될 수 있다. 이 관계에 따라 Type과 Ownership이 달라질 수 있다. 비영속성 엔티티와 영속성 엔티티가 존재할 경우 연관관계는 비영속성에서 영속성 엔티티로 연결되어야 한다.
연관관계에서 Type
엔티티가 일대다, 일대일의 연관관계를 갖는 경우, Type은 Reference로 설정된다. 그외의 다대다의 연관관계를 갖는 경우Type은 Reference set으로 설정된다. 반대로 이 Type을 변경할 경우 연관관계 설정도 변경된다.
연관관계에서 Owner란,
연관관계에서 Owner가 존재하는 이유는, 엔티티 간의 설정된 연관관계가 초기 설정과 다르게 변경될 경우 데이터베이스를 다시 빌드하지 않고 연관관계를 동적으로 쉽게 변경하기 위해 존재한다. 여기서 말하는 Ownership은 두 엔티티 간의 연관관계를 소유한다는 의미이다. (스키마 재설정하면 기존에 누적했던 데이터가 삭제되는 상황에서 재 빌드 하지 않으려고 있는 기능이라고 추정)
설정되는 케이스를 보자면 일대일의 관계는 양쪽 엔티티 모두 소유권을 갖게 되어 Owner에 Both라고 설정한다. 이 때 연관관계는 두 엔티티 간의 실선으로 표시된다.
일대다 관계의 경우 ‘다’에 해당되는 엔티티가 소유권을 갖게 되고 Default로 설정된다. 이 때 엔티티 간의 화살표는 ‘다’의 엔티티에서 ‘일’의 엔티티 방향으로 뻗어나간다.
다대다의 연관관계를 가질 경우, 기본적으로 개발자가 연관관계를 그리기 시작한 엔티티가 소유권을 가지게 되지만, 필요한 경우 두 엔티티 모두 소유권을 갖도록 Both로 설정할 수 있다. 다대다의 경우 연관관계 중 두 엔티티가 모두 소유권을 가진 경우 두 엔티티간의 실선으로 표시되고 한 쪽 엔티티만 소유권을 가진 경우 소유권을 가진 엔티티에서 화살표가 시작된다.
참고로 이러한 소유권 설정은 XML으로 표현한 도메인모델에서 더욱 두드러지는데 엔티티가 표현된 XML 파일을 보면 소유권이 있는 엔티티쪽에 연관관계가 표시되어 있다.
연관관계 소유권이 있는 쪽에서만 상대편의 엔티티에 접근하지 못하는 경우가 있다.
1. 일대다 연관관계 (소유권이 ‘다’ 엔티티에 있음)
2. 다대다 연관관계이나 한 엔티티가 소유권을 가진 경우
3. 다대다 연관관계이나 두 엔티티가 모두 소유권을 가진 경우
4. 일대일 연관관계(두 엔티티 모두 소유권 가짐)
'Mendix > Academy 및 Docs' 카테고리의 다른 글
[Mendix Docs] Mendix에서 Version Control (4) | 2024.07.21 |
---|---|
[Mendix Advanced] Mendix 아키텍처 및 플랫폼 구성 요소 (0) | 2024.07.07 |
[Mendix Docs] Domain model - Entity (0) | 2024.06.18 |
[Mendix Rapid] 객체 이벤트 핸들러(ObjectEventHandler) (0) | 2024.05.29 |
[Mendix Rapid] Save 기능을 확장한 Microflow 사례 (0) | 2024.05.29 |