我的应用有联赛,每个联赛可以有任意数量的比赛。我使用 .hbm.xml 文件来建立联赛和比赛之间的关联。我已将其配置如下:
<set name="competitions" table="leagueCompetitions" lazy="false">
<meta attribute="property-type"><![CDATA[Set< Competition >]]></meta>
<meta attribute="default-value"><![CDATA[new HashSet< Competition >()]]></meta>
<key column="leagueId"/>
<many-to-many column="competitionId"
unique="true"
lazy="false"
class="com.example.model.Competition"/>
</set>
我有一个 DAO 方法可以检索基本上归结为的联赛列表
Query query = session.createQuery( "from League" );
return query.list();
我写了一些代码来计算比赛,它很简单
if ( league.getCompetitions().size() > 0 ) { ... blahditty blah ... }
但它失败了,因为 getCompetitions() 总是一个空集。
问题:当我使用 LeagueDAO.list() 获取联赛列表时,不应该每个联赛都加载所有的比赛吗?