HQL查询以获取对象的父级

时间:2010-11-09 19:43:29

标签: nhibernate hql

我是一个绝对的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);
}

在使用SQL查找正确的TrackClassID后,TrackClassDao.GetTrackClass方法只使用会话加载TrackClass。

1 个答案:

答案 0 :(得分:1)

您应该在Track类中映射TrackClass属性的many-to-one关系。