Not bad uh ? It will retrieve the specified fields (and types) through Reflection, including the fields value in the inner objects contained in the main bean. As you can note, the notation is OGNL-like, with the getter of the inner object starting with a dot and a lower case letter, stripping "get" from the method name:

:language.id

means

person.getLanguage().getId();

PRO:

less code;

auto-decoding field Type through Reflections, avoiding user errors;

changes on query or bean automatically managed, without the needs of change param settings