我在尝试通过嵌套多个级别的属性订购条件时遇到了麻烦。
我已经阅读了答案How can I sort in (n)hibernate on a property of a child object?,并发现创建别名可能就是解决方案。
这适用于一个级别。但是,如果我尝试嵌套两个或三个级别的属性,我会收到错误。我的代码如下:
@Entity
class TareaAsignada ... {
Siniestro siniestro;
...
}
@Entity
class Siniestro ... {
UsuarioSIS dueno;
...
}
@Entity
class UsuarioSIS ... {
Agencia agencia;
...
}
@Entity
class Agencia ... {
String nombre;
...
}
我用来创建标准的代码是:
DetachedCriteria criteria = DetachedCriteria.forClass(TareaAsignada.class);
...
criteria.createAlias("siniestro", "siniestro");
criteria.createAlias("siniestro.dueno", "dueno");
criteria.createAlias("dueno.agencia", "agencia");
...
criteria.addOrder(Order.asc("siniestro.dueno.agencia.nombre"));
我得到的错误是:
could not resolve property: dueno.agencia.nombre of: com.example.siniestro.model.Siniestro