Hierarchies are represented like a model having relation with the same model; each record has a parent record in the same model, and many child records. This can be achieved by simply using many-to-one relations between the model and itself.
However, Odoo also provides improved support for this type of field by using the Nested set model (https://en.wikipedia.org/wiki/Nested_set_model). When activated, queries using the child_of operator in their domain filters will run significantly faster.
Staying with the Library Books example, we will build a hierarchical category tree that can be used to categorize books.