2016-12-02 29 views
0

我是Salesforce新手,使用Java Salesforce API(例如com.sforce.soap.metadata,com.sforce.ws)。我知道如何使用soql语法通过Java代码进行查询。如何获取没有记录返回的soql结果查询的元数据?

有时,soql不会返回结果,因此无法获取有关结果字段的详细信息,所以无论结果是否返回,我都需要在soql查询上获取元数据。如果我有以下SOQL:

SELECT Name FROM Position_c WHERE Id NOT IN SELECT Position__c FROM Job_Application__c) 

谁能告诉我,如果有可能使用Java来获得这样的查询中的元数据,即使查询返回结果为零?如果你可以包含一小段代码来显示如何去做,那将会很好。

回答

0

我不认为有办法从0行查询中获取它。但是,您可以使用describeObject查看任何对象的元数据。

https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_calls_describesobject.htm

+0

将使用soql语句来获取将被转换为sql表的查询结果;因此即使没有记录返回,也需要创建sql表。 soql语句由用户提供,因此可以是任何东西。因此,要使用你提到的技术,就必须解析soql语句并找到涉及的对象 - 这是完成一项主要任务。我们真的在谈论所谓的soql引擎解析器/不是一件容易的任务。我宁愿留下这个选项作为最后的手段。 – NeverEndingStoryWow