Actually, instead of using legacy Hibernate, I'd recommend using Hibernate JPA. It has the advantage of being part of the JavaJEE standard (as a subset of the EJB3 specs).
What little I knew of legacy Hibernate I forgot long ago, but I think you're trying to brute-force SQL into an ORM environment. Certainly in the case of JPA's query language you'd never explicitly code the word "join" in the query.
The point of ORM frameworks, be they legacy Hibernate, JDO, JPA or whatever is to minimize the low-level query language coding required. For example, you don't code to pull fields, you code to pull a record, and the ORM framework then populates that record ("ORM Entity Object") with the field values automatically. Likewise you don't code a join clause, you establish a relationship (one/one, one/many, etc.) between entity objects and the ORM framework will then automatically do the join and fetch.
An IDE is no substitute for an Intelligent Developer.