2014-10-08 56 views
0

我有2個實體的提取物是這樣的解決財產。無法在Hibernate中的標準

有了這根標準:

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")); 

預先感謝您

+0

可能重複[未能解決物業休眠](http://stackoverflow.com/questions/26176915/could-not-resolve-property-休眠) – 2014-10-08 09:49:53

+1

在你的代碼中有很多註釋缺失,但我們認爲它們存在。 – 2014-10-08 10:04:34

回答

1

再添加一個行。

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

criteria.createAlias("pdv.categoria", "categoria"); 

現在工作在遠低於

criteria.add(Restrictions.eq("categoria.descripcion", "example")); 
+0

我沒有嘗試你的代碼,但是,例如,這個查詢不工作:Criteria criteria = sessionFactory.getCurrentSession()。createCriteria(Visita.class).createAlias(「pdv」,「pdv」).add(Restrictions。 eq(「pdv.zona」,「example」));並且我爲pdv創建了別名... – Juanjo 2014-10-08 10:12:31

+0

「pdv.zona」應該可以工作,並且zona字段用@Column對其進行註釋? – 2014-10-08 10:19:20

+0

它沒有用@column註釋,因爲它與DB中的名稱相同。我應該註明它嗎?我認爲當它的名稱與數據庫中的名稱相同時,它不需要該註釋 – Juanjo 2014-10-08 12:00:29