차슈의 개발 자국
SObject의 모든 필드 값 가져오기2 본문
※ 본 게시물은 초보 개발자가 작성하는 글이므로 다소 잘못된 부분이 있을 수 있습니다. 수정이 필요한 부분은 댓글 부탁드립니다. ^^
Schema.DescribeFieldResult를 사용한 코드
SObjectType objType = Schema.getGlobalDescribe().get('Lead');
Map<String, Schema.SObjectField> objFields = objType.getDescribe().fields.getMap();
Schema.DescribeFieldResult fieldDesc = objFields.get(fieldName).getDescribe();
Describe information은 sObject 및 필드 속성에 대한 메타데이터 정보를 제공합니다.
예를 들어, sObject에 대한 Describe information에는 해당 유형의 sObject가 생성 또는 삭제 취소, sObject의 이름과 label, sObject의 필드 및 하위 개체 등과 같은 작업을 지원하는지 여부가 포함됩니다.
필드에 대한 Describe information에는 필드에 기본값이 있는지 여부, 계산된 필드인지 여부, 필드 유형 등이 포함됩니다.
토큰을 이용하거나 describeSObjects Schema method를 사용해 sObjects를 설명할 수 있습니다.
sObject Token | sObject Describe Result | Field Token | Field Describe Result |
(Schema.sObjectType) | (Schema.DescribeSObjectResult) | (Schema.sObjectField) | (Schema.DescribeFieldResult) |
sObject Token 사용
Schema.SObjectType은 sObject 토큰의 데이터 형식입니다.
sObject의 토큰에 액세스하려면 다음 방법 중 하나를 사용합니다.
1. Account와 같은 sObject 유형에서 sObjectType 멤버 변수에 액세스
Schema.sObjectType t = Account.sObjectType;
2. getSObjectType 메소드 호출하기 (sObject describe result, an sObject variable, a list, or a map에)
Account a = new Account();
Schema.sObjectType t = a.getSObjectType();
field Token 사용
Schema.SObjectField는 필드 토큰의 데이터 형식입니다.
필드 토큰에 액세스하려면 다음 방법 중 하나를 사용합니다.
1. sObject static type의 정적 멤버 변수 이름(예: Account)에 액세스 (예, Account.Description)
Schema.SObjectField fieldToken = Account.Description;
2. getSObjectField 메소드 호출하기 (field describe result에)
// Get the describe result for the Name field on the Account object
Schema.DescribeFieldResult dfr = Schema.sObjectType.Account.fields.Name;
// Verify that the field token is the token for the Name field on an Account object
System.assert(dfr.getSObjectField() == Account.Name);
// Get the describe result from the token
dfr = dfr.getSObjectField().getDescribe();
sObject Describe Results 사용
Schema.DescribeSObjectResult는 sObject describe result의 데이터 형식입니다.
sObject에 대한 describe result에 액세스하려면 다음 방법 중 하나를 사용합니다.
1. SObject 토큰에 getDescribe 메소드 호출하기
Schema.DescribeSObjectResult dsr = Account.sObjectType.getDescribe();
2. 스키마 sObjectType 정적 변수를 sObject 이름과 함께 사용
Schema.DescribeSObjectResult dsr = Schema.SObjectType.Account;
Field Describe Results 사용
Schema.DescribeFieldResult는 field describe result의 데이터 형식입니다.
field에 대한 describe result에 액세스하려면 다음 방법 중 하나를 사용합니다.
1. 필드 토큰에 getDescribe 메소드 호출하기
Schema.DescribeFieldResult dfr = Account.Description.getDescribe();
2. 필드 멤버 변수를 사용하여 sObject 토큰의 필드 멤버 변수에 액세스
Schema.DescribeFieldResult dfr = Schema.SObjectType.Account.fields.Name;
'APEX' 카테고리의 다른 글
Apex Rest Web Service (RestContext + RestRequest + RestResponse) (0) | 2022.04.09 |
---|---|
Trigger Context Variables (0) | 2022.04.05 |
SObject의 모든 필드 값 가져오기 (0) | 2022.01.03 |
Apex Trigger 2 (자주 보는 오류) (0) | 2021.12.16 |
Salesforce안에서 외부 사이트 연결 (0) | 2021.12.16 |