sObject 사용하기

Isa.log·2025년 6월 23일

sObject

Apex는 데이터베이스와 긴밀하게 통합되어 있으므로 Apex에서 직접 Salesforce 레코드 및 해당 필드에 액세스 가능.
사용자 인터페이스에서 보고 수정할 수 있는 Acme 레코드의 필드는 sObject에서도 직접 읽고 수정 가능.

Salesforce의 표준 및 맞춤형 객체 레코드는 Apex의 sObject 유형에 매핑됨.
(Salesforce의 모든 레코드는 기본적으로 Apex에서 sObject로 표시됨.)

다음은 표준 개체에 사용되는 Apex의 몇 가지 일반적인 sObject 유형 이름임.

  • Account 계정
  • Contact 연락처
  • Lead 리드(잠재고객 대상)
  • Opportunity 기회(예상 매출, 거래 단계, 금액 등)

sObject 변수 생성

sObject를 생성하려면 변수를 선언하고 해당 변수에 sObject 인스턴스를 할당해야 함.
변수의 데이터 유형은 sObject 유형.

다음 예시에서는 Acme 라는 이름의 계정 유형 sObject를 만들고 이를 acct 변수에 할당.

Account acct = new Account(Name='Acme')

sObject 및 필드 이름

Apex는 고유한 API 이름을 사용하여 표준 또는 사용자 정의 sObject와 해당 필드를 참조.

개체 및 필드의 API 이름은 레이블과 다를 수 있음.
예를 들어 직원 필드에는 직원이라는 레이블이 있고 계정 레코드 페이지에 직원으로 표시되지만 해당 API 이름은 NumberOfEmployees인 경우. Apex에서 이 필드에 액세스하려면 필드의 API 이름인 NumberOfEmployees를 사용해야 함.

다음은 맞춤형 객체 및 사용자 정의 필드의 API 이름에 사용되는 일부 규칙의 하이라이트.

맞춤형 객체 및 사용자 정의 필드의 경우 API 이름은 항상 c 접미사로 끝남.
사용자 정의 관계 필드의 경우 API 이름은
r 접미사로 끝남.

Merchandise라는 레이블이 있는 맞춤형 객체의 API 이름은 Merchandisec
레이블이 설명인 사용자 정의 필드에는 API 이름이 Description
c
항목 레이블이 있는 사용자 정의 관계 필드의 API 이름은 Itemsr
또한 레이블의 공백은 API 이름의 밑줄로 대체됨. 예를 들어 Employee Seniority의 사용자 정의 필드 이름에는 Employee_Seniority
c라는 API 이름이 있음.

sObject 생성 및 필드 추가

Salesforce 레코드를 삽입하기 전에 먼저 메모리에 sObject로 생성해야 함.
다른 개체와 마찬가지로 sObject는 new 연산자와 함께 생성됨.

Account acct = new Account();

API 개체 이름은 Apex에서 sObject 변수의 데이터 유형이 됨.
가령 위의 예에서 Account(계정)은 acct 변수의 데이터 유형.

아직 필드를 채우지 않았으므로 acct 변수에서 참조한 계정이 비어있음.
필드를 추가하는 방법에는 생성자를 통하거나 점 표기법을 사용하는 두 가지 방법 있음.

//생성자 
Account acct = new Account(Name='Acme');
Account acct = new Account(Name='Acme', Phone='(415)555-1212', NumberOfEmployees=100);

//점 표기법 
Account acct = new Account();
acct.Name = 'Acme';
acct.Phone = '(415)555-1212';
acct.NumberOfEmployees = 100;
profile
세상을 탐험하던 눈으로, 지금은 디버깅 중

0개의 댓글