Wie setProjection richtig einsetzen?

Ich möchte nur bestimmte Spalten in meiner UserAccount-Klasse abrufen, daher habe ich den folgenden Code:

UserAccount aUser = (UserAccount)currentSession().createCriteria(UserAccount.class)
                        /*  .setProjection(Projections.projectionList()
                                    .add(Projections.property("id"))
                                    .add(Projections.property("username"))
                                    .add(Projections.property("email"))
                                    .add(Projections.property("displayname"))) */
                            .add(Restrictions.eq("email", email))
                            .add(Restrictions.eq("password", password))
                            .add(Restrictions.eq("enabled", true))
                            .add(Restrictions.eq("role", Role.CUSTOMER))
                            .uniqueResult();
    System.out.println(aUser);
    return aUser;

Ich habe die Null zurückbekommen. Aber wenn ich setProjections auskommentiere, bekomme ich den Benutzer mit allen Eigenschaften. Wie kann ich setProjection in diesem Fall richtig einsetzen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage