Now, to reply to your question: MySQL (and any SQL) are very different from Hibernate. Hibernate deals with objects and has its own query language. You shouldn't expect a query that works in SQL to work in Hibernate -- in fact it most likely won't. Do a Google search for hibernate query syntax and you will find many websites to assist you.
3.4.2. Outer Join Fetching
If your database supports ANSI, Oracle or Sybase style outer joins, outer join fetching will often
increase performance by limiting the number of round trips to and from the database. This is,
however, at the cost of possibly more work performed by the database itself. Outer join fetching
allows a whole graph of objects connected by many-to-one, one-to-many, many-to-many and oneto-
one associations to be retrieved in a single SQL SELECT.
Outer join fetching can be disabled globally by setting the property hibernate.max_fetch_depth
to 0. A setting of 1 or higher enables outer join fetching for one-to-one and many-to-one
associations that have been mapped with fetch="join".
See Section 21.1, “Fetching strategies” for more information.
Join fetching: Hibernate retrieves the associated instance or collection in the same SELECT,
using an OUTER JOIN.
<set name="permissions" <br /> fetch="join">
<many-to-one name="mother" class="Cat" fetch="join"/>