Great question! Hibernate is a very handy framework for removing your need to fully understand SQL, but it will force you to understand things such as joins.
Joining two tables in SQL is the foundation of a relational database, as joins allow you to actually define relationships between tables (objects).
Having said that, relationships are important to understand when talking about fetch types in Hibernate. This is the case because whenever you define a relationship in Hibernate, you’ll also need to define the fetch type. The fetch type essentially decides whether or not to load all of the relationships of a particular object/table as soon as the object/table is initially fetched.
For more information please see the show notes via http://howtoprogramwithjava.com/session57