是否可以使用.hbm.xml映射在字段上进行特殊计算检索的集合?
例如,以下是一些测试类和映射.hbm.xml:
public class Student {
public virtual long StudentNo { get; set; }
public virtual int Year { get; set; }
public virtual IList<TestResult> Tests { get; set; }
}
public class TestResult {
public StudentNo { get; set; }
public DateTime TestDate { get; set; }
public int SubjectCode { get; set; }
public float Marks { get; set; }
}
<composite-id>
<key-property name="StudentNo" column="STUDENT_NO"/>
<key-property name="Year" column="YEAR"/>
</composite-id>
<bag name="Tests" table="TEST_RECORD" fetch="select" lazy="false">
<key>
<column name="STUDENT_NO"/>
</key>
<one-to-many class="TestResult" not-found="ignore"/>
</bag>
问题是在Student课程中,我怎样才能在TestDate等于年份时检索那些TestResults?
上面的.hbm.xml将检索所有的TestResults,但我只是想让TestResults在同一年的学生中获取日期。
如何定义.hbm.xml?
请教我,谢谢。
埃里克