Non so dove mai ho letto TopLink...vaneggio :P
Comunque, mi sa che con il tuo codice stai chiedendo troppo alla JVM. Mi spiego: facendo query native stai difatto saltando la mappatura hibernate, quindi non puoi castare i dati "puri" sulle tue entità Hibernate, ma devi scorrerti il tuo resultset, e colonna per colonna, riportarlo sulle proprietà della tua entità.