Pour avoir récemment utilisé une fonction stockée et mappée le résultat, je pense que vous pourriez créer un champ year dans votre classe, qui serait de type formula.
un peu comme ceci:
Code:
<property name="myYear" formula="EXTRACT(Year from maColonne)" type="Integer"/>
A partir de ce mapping, vous pourrez ajouter le critère:
Code:
ctr.add(Expression.eq("myYear", new integer(dto.getDelayYear());
Cela devrait gazer.
Nota: La fonction SQL Extract ne fonctionne peut-être que sur Oracle, il faut prendre l'équivalent dans votre SGBD.