Hibernar criterios / consulta sobre las propiedades del objeto

Tengo una claseAppUser;

class AppUser {
   private String firstName;
   private String lastName;
   //-- getters and setters
}

Yo tambien tengo otra claseStudent;

class Student {
   private AppUser appUser;
   private Date dateOfBirth;
   //-- getters and setters
}

¿Cómo buscaría estudiante?John Doe, primer nombre John, apellido Doe?

Si hubiera sido la fecha de nacimiento de la propiedad, crearía unCriteria y añadir una restricción de igualdad (Restristions.eq) En la cita. ¿Cómo lo haría para lastName y firstName en el objeto AppUser?

Respuestas a la pregunta(2)

Su respuesta a la pregunta