It is possible to apply a ResultTransformer to native SQL queries, allowing it to return non-managed entities.
sess.createSQLQuery("SELECT NAME, BIRTHDATE FROM STUDENTS")
.setResultTransformer(Transformers.aliasToBean(StudentDTO.class))
This query specified:
1. the SQL query string
2. a result transformer
The above query will return a list of StudentDTO which has been instantiated and injected the values of NAME and BIRTHNAME into its corresponding properties or fields.