Build a Data Model for a Recruiting App: Create a Custom Junction Object for Job Postings

Study for the Administrator Certification Exam > Object Manager and Lightning App Builder (15%) > Build a Data Model for a Recruiting App > Create a Custom Junction Object for Job Postings

Salesforce가 Many-to-Many를 구현하는 방법

하나의 Position은 여러 Job Posting Site에 게시될 수 있고, 하나의 Job Posting Site도 여러 Position을 게시할 수 있기 때문에 두 객체의 관계는 Many-to-Many이다.
Salesforce에서는 Many-to-Many 관계를 직접 만들 수 없기 때문에 별도의 객체(Junction Object) 를 생성한다.
그리고 이 Junction Object에 두 개의 Master-Detail 관계를 만들어 각 부모 객체와 연결한다.
이렇게 하면 각 부모 레코드는 여러 개의 Junction Object 레코드를 가질 수 있게 되어 Many-to-Many 관계가 구현된다.

Create a Custom Object

Job Posting객체를 만들어서 PositionJob Posting Site를 Master-Detail관계로 묶어줍니다. Job Posting은 관계만 정의합니다.

  1. Setup > Object Manager > Create > Custom Object
    • Label: Job Posting
    • Plural Label: Job Postings
    • Record Name: Job Posting Number
    • Data Type: Auto number
    • Display Format: JOBPOST-{0000}
    • Starting Number: 1
  2. Save

필드추가:

Position
   1
   |
   N
Job Posting (Junction Object)
   N
   |
   1
Job Posting Site
  1. Setup > Object Manager > Job Posting > Fields & Relationships > New
    • Data Type: Master-Detail Relationship
    • Related To: Position
    • Field Label: Position
  2. Next, Next, Next, Save & New
    • Data Type: Master-Detail Relationship
    • Related To: Job Posting Site
    • Field Label: Job Posting Site
  3. Next, Next, Next, Save

Modify the Page Layouts

Position의 Related List에 Job Posting Site필드들을 추가합니다.

  1. Setup > Object Manager > Position > Page Layouts > Edit > Related Lists > Job Postings > Wrench icon
    • Job Posting Site: Site Name
    • Job Posting Site: Status
    • Job Posting Site: Technical Site
  2. Add
    • Job Posting: Job Posting Number
    • Job Posting: Job Posting Name
  3. Remove
  4. OK
  5. Save

Job Posting Site의 Related List에 Job Postings필드들(Position)을 추가합니다.

  1. Setup > Object Manager > Job Posting Site > Page Layouts > Job Posting Site Layout > Edit > Related Lists > Job Postings > Wrench icon
    • Position: Status
    • Position: Title
  2. Add
    • Job Posting: Job Posting Number
    • Job Posting: Job Posting Name
  3. Remove
  4. OK
  5. Save

Check the Result

새로운 Job Posting Site를 등록합니다.

  1. App Launcher > Job Posting Sites > New
    • Site Name: Jobs-R-Us
    • Job Posting Site URL: www.jobsrus.com
    • Status: Active
  2. Save

Position을 신규등록합니다.

  1. App Launcher > Recruiting > Positions > New
    • Title: Super Sales Rep
    • Department: Sales
    • Approval Status: Approved
    • Location: US
    • Job Description: Sales rep to join the AW Computing team serving the eastern region of AMER
  2. Save

Related List에 Position을 등록합니다.

  1. App Launcher > Position > Super Sales Rep > Related
    * 만약 Related탭이 아직 비어있다면 조금 기다린 뒤 새로고침하세요
  2. > Job Postings > New
    • Position: Super Sales Rep
    • Job Posting Site: Jobs-R-Us
  3. Save