【发布时间】:2011-08-05 21:51:54
【问题描述】:
我有一个这样的模型
癫痫发作 => MatCountry => MatCountryI18n
当我尝试像这样查询数据时
criteria.
createAlias("matCountry","seizure_country",CriteriaSpecification.INNER_JOIN).
createAlias("seizure_country.matCountryI18ns","seizure_country_translation",CriteriaSpecification.INNER_JOIN).
add(Restrictions.eq("seizure_country_translation.matLanguageCode", "de").
setFetchMode("seizure_country", FetchMode.JOIN).
setFetchMode("seizure_country_translation", FetchMode.JOIN);
并从数据库中获取数据
List<Seizure> seizures = getHibernateTemplate().findByCriteria(criteria);
我希望 hibernate 只给我那些与我的给定查询匹配的对象(特别是那些子对象)(其中 translation.matLanguageCode = de)
但是当我访问 MatCountryI18n
的子对象时logger.info("Seizures: "+seizures.get(0).getMatCountry().getMatCountryI18ns().size());
它给了我 ALL 相关联的 MatCountryI18n 对象 MatCountry
请帮忙。
我做错了什么。
问候 JS
【问题讨论】:
标签: hibernate associations one-to-many