ma non hai fatto una query di join nel post precedente? Secondo me non era un metodo sbagliato di procedere.. più che altro perchè sembra che tu stia dicendo che tecnico è una estensione di utente, quindi sarei portato a dire che la classe Tecnico estenda quella Utente, quindi il load è sulla classe tecnico non Utente... boh poi non so se possa andare bene come logica nella tua app... altrimenti la tua classe User dovrebbe avere tanti getTipologia quanti sono le possibilità nel database, ovvero getTecnico, getResponsabile, getFoo, getBar... carichi tali infomazioni o al momento del "get" (in lazy loading) o al load della classe (eager loading)