Well let's not call it "Hierarchy". But, yea there are certain techniques which are more preferred.
For simplicity sake, you can use By.iD() or By.name().
But a lof times, these locators might not be supported by the HTML tags in all web pages.
So, at such times you might want to use By.xpath() and By.cssSelector().
XPath is the defacto standard for locating elements...but its a little complicated and might require you to use tools like Firebug or Firepath to get the XPath. cssSelector is the other best option. These two techniques will help you locate the elements guaranteed. No doubts.
Besides them you can use other techniques like By.className() or By.tagName() or By.linkText() or By.partialLinkText(). These should certainy work.