2010-11-09 6 views
0

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

Как написать запрос HQL для получения родительского объекта дочернего объекта?

У меня есть объект/стол TrackClass с отношением «один ко многим» с треком. Зная Track, я хотел бы получить родительский TrackClass. Прямо сейчас я прибегаю к SQL, но я уверен, что его можно было бы написать более elgantly с помощью одного оператора hql.

string tcID = session.CreateSQLQuery("select trackclassid from track where trackid = " + t.TrackID).UniqueResult().ToString(); 

if (tcID != null) 
{ 
    trackclass = TrackClassDao.GetTrackClass(Convert.ToInt32(tcID), session); 
} 

Метод TrackClassDao.GetTrackClass просто загружает TrackClass используя сессию после того, как найти правильный TrackClassID с SQL.

ответ

1

У вас должно быть отношение many-to-one, сопоставляющее свойство TrackClass в вашем классе Track.

+0

Duh, как глупо, это было обходным путем, потому что я не мог заставить свои отображения работать правильно, но теперь у меня это работает, спасибо за то, что вернуло меня обратно! – Trygve

Смежные вопросы