As Raul mentioned, Roo makes use of JPA for its ORM needs. This allows for a nice abstraction giving you the choice between three JPA implementations: Hibernate, EclipseLink and OpenJPA. Now, if you want to create custom queries all you need to do is get hold of the EntityManager in your controller (or wherever you need it):
Code:
@PersistenceContext
private EntityManager entityManager;
This should get it injected into any Spring managed component (or any Pojo marked with @Configurable.
There is some abstraction available in the JPA API to build standard queries for you but it is probably not as powerful compared to using Hibernate directly. We are hoping to convert to JPA 2 soon which should help on that.
Cheers,
Stefan