2010-08-24 2 views
3

Кажется, что я не могу создать запрос с критерием, который ссылается на свойство внутри класса Embedded. Когда я использую «entity.embedded.property», он терпит неудачу. Если я создаю псевдоним «entity.embedded.property» для себя, то запрос работает ... Любые подсказки будут оценены ...не может разрешить свойство, когда критерии относятся к встроенному свойству

ответ

6

Вы не можете напрямую получить доступ к свойствам внедренного объекта. Вместо этого вы должны создать псевдоним. Как

Criteria crit = session.createCriteria(XYZ.class, "entity"); 
crit.setProjection(Projections.property("id")); 
crit.createAlias("entity.embedded", "embeddedObj"); 
crit.add(Restrictions.eq("embeddedObj.property1", "propert1_value"));