We use hibernate on our projects for the ORM technology. We are starting to use EJB3 now for all new development. Luckily its very similar to hibernate so we don't have to re-skill too much.
Hibernate HQL Inner Join
An issue that I came across recently was hibernate's HQL language inability to handle "inner join on" clauses. If your domain entity model has relationships defined between the related objects then something like