Hierarchical relationships
Key Takeaway
A hierarchical relationship is a special lookup relationship, available only for the User object, that blocks both direct and indirect loops between users.
A hierarchical relationship links one user record to another user and stops a reporting chain from looping back on itself. You can create your own as a custom field, and the User object also has a standard Manager field that already works this way.
What a hierarchical relationship is
A hierarchical relationship is a special type of lookup relationship that is available only for the User object. It uses a lookup field on a user record to point to another user. Users are the exception to normal self-lookups: most objects can link to themselves with a self-lookup, but the User object can't. So to relate users to other users, you use a hierarchical relationship instead.
You create a hierarchical relationship as a custom field with the "Hierarchical Relationship" field type, which creates a hierarchical lookup relationship between users. For example, you can create a custom hierarchical relationship field to store each user's direct manager.
Linking a custom object record to a user is not a hierarchical relationship.
For example, imagine that you want to link a PTO Request record to the employee who submitted it. You create a regular lookup relationship from the PTO Request custom object to the User object.