Most Hibernate associations support \"fetch\" parameter:
fetch=\"join|select\"
with \"select\" being default value.
How to decide
People are always talk about performance hit using fetch=JOIN. But as i reckon, it is important for us to understand the number of parent/child records we are fetching:
If you want to fetch only single Parent record and expecting it doesn't have many children, then i would suggest you to use fetch=SELECT.
If you want to fetch all parent records including its children, then it would be better to go for fetch=JOIN
Just to add a note that, if records are lazily fetching children(lazy=true), then it wouldn't make any sense of using fetch=JOIN since the all the parent and child records gets loaded in a single shot.