Я абсолютный новичок в hql, так что терпите меня ...
Как мне написать hql-запрос для получения родительского объекта дочернего объекта?
У меня есть объект / таблица TrackClass с отношением один-ко-многим с Track. Зная Track, я бы хотел получить родительский TrackClass. Прямо сейчас я прибегаю к SQL, но я уверен, что его можно написать более изящно с помощью одного оператора 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.