L'unico problema che vedo, così a colpo d'occhio, è che nella classe Timesheet non hai dichiarato il campo "idAnagrafica", che è richiesto nella JoinColumn.
Da qui l'eccezione che hai ottenuto da SQL Server.
Corretto quello la prima implementazione che hai postato dovrebbe essere ok.