zoukankan      html  css  js  c++  java
  • 68、Schema的相关类

    public class SObjectSchema {
        
        public void testSchema(){
            //获取SObject的token
            //1、先获取所有token,然后通过key获取需要的token
            //2、直接获取指定的sObject的token
            
            //1、通过获取全部描述信息,然后get方法获取需要的指定字段的描述信息
            Map<String,Schema.SObjectType> allSObjectTypeDescribes = Schema.getGlobalDescribe();
            Schema.SObjectType merchandiseType1 = allSObjectTypeDescribes.get('Merchandise__c');
            
            //2、直接获取指定sObject的token
            Schema.SObjectType merchandiseType2 = Merchandise__c.SObjectType;
            
            /*
             * 获取Schema.DescribeSObjectResult
             * 1、通过token的getDescribe方法**/
            Schema.DescribeSObjectResult merchandiseResult = merchandiseType1.getDescribe();
            
            /*
             * 2、通过System命名空间下的Schema的方法
             * */
            List<String> sObjectTypes = new String[]{'Merchandise__c'};
            List<Schema.DescribeSObjectResult> merchandiseResult1 = Schema.describeSObjects(sObjectTypes);
            System.debug(merchandiseResult.getLabel());
            System.debug('sObject的API的名称为' + merchandiseResult.getName());
            System.debug('Student表是否为自定义的Object :' + (merchandiseResult.isCustom() ? '是':'否'));   
            //---------------------------------------//
            List<Schema.ChildRelationship> childRelationResult = merchandiseResult.getChildRelationships();
            for(Schema.ChildRelationship child : childRelationResult){
                System.debug('merchandise子Object的关联名称:'+ child.getRelationshipName());
            }
            /**
             * 以下操作位获取field的元信息结果,以Education__c为例
             * 两种操作方式:
             * 1、通过DescribeSObjectResult的fields方法获取token,然后再通过getDescribe方法获取
             * 2、直接获取字段然后使用getDescribe方法
             * */
            Map<String,SObjectField> sObjectFieldMaps = merchandiseResult.fields.getMap();
            SObjectField educationField = sObjectFieldMaps.get('Merchandise__c');
            Schema.DescribeFieldResult educationFieldResult = educationField.getDescribe();
            Schema.DisplayType educationType = educationFieldResult.getType();
            System.debug('education字段类型为:'+educationType);
            System.debug('education字段API名称为:'+educationFieldResult.getName());
            System.debug('education字段label名称为:'+educationFieldResult.getLabel());
            //------------------------------//
            List<Schema.PicklistEntry> educationListValues = educationFieldResult.getPicklistValues();
            Map<String,Object> educationListValueMap = new Map<String,Object>();
           /* for(Schema.PicklistEntry educationListItem : educationListValues){
                educationListValueMap.put(educationListItem.getValue(),new Map<String,Object>{
                    'value'=>educationListItem.getValue(),
                })
            }*/
        }
    }
  • 相关阅读:
    python包的安装及依赖-pip wget pipdeptree
    Http、Socket、WebSocket之间联系与区别
    python的https请求移除ssl验证警告
    uwsgi启动django应用 https访问设置问题解决 & uwsgi: unrecognized option '--https' | ubuntu20.04
    图像frame大小计算
    完全实验|不完全实验|
    随机区组设计|拉丁方
    TPO2-3 Early Cinema
    TPO2-1Desert Formation
    TPO9-2Reflection in Teaching
  • 原文地址:https://www.cnblogs.com/weizhen/p/6434746.html
Copyright © 2011-2022 走看看