Po kilku badaniach można to zrobić za pomocą adnotacji Formuły:
@Entity
public class A {
@Column(name ="a1")
private int a1;
@Column(name ="a2")
private int a2;
@Formula("myFunction(a1)")
private int a3;
.....
}
A w Kryteriach:
Criteria cr = getInstanciaCriteria(A.class);
cr.add(Restrictions.eq("a3", 1));