I had a requirement today to provide two buttons on a Visualforce page which redirected the user to two different list views of sObjects. This solution also had to go through a number of org migrations so I knew that the sObject prefix would be changing. Problem? Nope…getDescribe to the rescue.
Quick and dirty schema query:
public PageReference manageSObjectOne() {
Schema.DescribeSObjectResult dsr = <<API Name of your sObject>>.SObjectType.getDescribe();
PageReference prRef = new PageReference(‘/’ + dsr.getKeyPrefix());
prRef.setRedirect(true);
return prRef;}
No SOQL hit, nothing except for script statements counting against your governor limits. Slick.