Salve sto scrivento un software orm, qualcosa tipo hibernate ma che abbia anche altre funzionalità.

Volendo strutturare il mio orm sullo stile di hibernate, ad esempio per creare una select, io come faccio a sapere com'è stato creato quel metodo che permette di creare una select con hibernate?
Io conosco il metodo, e so come si usa ma non so come è stato implementato...dovrei forse cercare il codice sorgente? non lo trovo...qualcuno mi aiuta?

Codice:

Query q = session.createQuery("from Dipartimento");
result=q.list();


dove trovo il codice sorgente di createQuery?