Не удалось разрешить свойство Hibernate

У меня есть 2 объекта, экстракты которых такие:

public class Visita {
    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="pdv_uid")
    private PuntoDeVenta pdv;
}

public class PuntoDeVenta {
    private Integer idclient;

    private String zona;

    @ManyToOne
    @JoinColumn(name="pdv_categoria_uid", nullable=true)
    private PuntoDeVentaCategoria categoria;
}

public class PuntoDeVentaCategoria {
    private String descripcion;
}

Я пытаюсь делать ограничения с разными полями, и некоторые из них работают, некоторые нет.

С этим корневым критерием:

Criteria criteria =   sessionFactory.getCurrentSession().createCriteria(Visita.class).createAlias("pdv", "pdv");

Я пытаюсь установить ограничения с различными полями «PuntoDeVenta» и «PuntoDeVentaCategoria» (с и без createAlias) и получаю исключение «не удалось разрешить свойство», например:

Criteria criteria =   sessionFactory.getCurrentSession().createCriteria(Visita.class).createAlias("pdv", "pdv").add(Restrictions.eq("pdv.categoria.descripcion", "example"));

Я исследовал и ничего не нашел для своего случая.

заранее спасибо


person Juanjo    schedule 03.10.2014    source источник
comment
Я думаю, вы добавляете метод get/set, чтобы показать в запросе путь   -  person Joe Taras    schedule 03.10.2014
comment
У меня есть геттер и сеттер в классе, но я просто помещаю выдержку из класса (она огромна)   -  person Juanjo    schedule 03.10.2014
comment
Примените двойной псевдоним. Первый это пдв, второй по категории   -  person Joe Taras    schedule 03.10.2014
comment
Я видел это в других решениях... но я не знаю, правильно ли это в моем случае.   -  person Juanjo    schedule 03.10.2014
comment
все они за пределами Визиты   -  person Juanjo    schedule 03.10.2014
comment
попробуй так: .createCriteria(Visita.class).createAlias("pdv", "pdv").createAlias("pdv.categoria", "categoria").add(Restrictions.eq("categoria.descripcion", "example"));   -  person cy3er    schedule 03.10.2014