per essere strano e strano. La modalità di fetch non c'entra. Ci sono due modi: eager e lazy. Il primo carica la relazione subito, il secondo la carica solo se necessario. Di default tutte le relazioni uno a uno sono eager, quindi il fatto che non ci sia nulla è possibile che abbia ragione lui e sul db non ci sia davvero nulla associato al tuo oggetto. Controlla
Suggerisco di utilizzare l'annotazione @NotNull se è importante che ci sia qualcosa, ma non fa parte di jpa, ma di EJB 3.1, nello specifico Bean Validation 1.0