Se eu tiver um código do tipo:
c.createAlias("course", "course", CriteriaSpecification.LEFT_JOIN)
c.setResultTransformer(new AliasToBeanResultTransformer(Student.class));
Ao passar uma projection dessa:
pl.add(Projections.property("course.description"), "course.description");
Ele não deveria criar uma instância de Course dentro de Student com o description preenchido??
Tá realmente difícil fazer algo desse tipo aqui…