2010-11-09 54 views
0

我是一个绝对的HQL新手,所以容忍我的父母......HQL查询来获取对象

我怎样写一个HQL查询检索子对象的父对象?

我有一个对象/表TrackClass与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方法只加载使用与SQL找到正确的TrackClassID后的会话TrackClass。

回答

1

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

+0

Duh,多么愚蠢,这是一种解决方法,因为我无法让我的映射正常工作,但我现在正在工作,感谢让我回到正轨。 – Trygve 2010-11-09 20:55:25