É possivel fazer um relacionamento da seguinte forma, sem que estourasse o heap devido a chamada recursiva
public class Employee {
//more code
@OneToOne(cascade={CascadeType.ALL})
@JoinColumn(name="id")
private Employee supervisor = new Employee();
}
Obrigado