12
Xem xét Hibernate tập tin bản đồ sau:Áp dụng bộ lọc thuộc tính Hibernate để một túi với một mối quan hệ nhiều-nhiều
<hibernate-mapping ...>
<class name="ContentPackage" table="contentPackages">
<id name="Id" column="id" type="int"><generator class="native" /></id>
...
<bag name="Clips" table="contentAudVidLinks">
<key column="fk_contentPackageId"></key>
<many-to-many class="Clip" column="fk_AudVidId"></many-to-many>
<filter name="effectiveDate" condition=":asOfDate BETWEEN startDate and endDate" />
</bag>
</class>
</hibernate-mapping>
Khi tôi chạy lệnh sau:
_session.EnableFilter("effectiveDate").SetParameter("asOfDate", DateTime.Today);
IList<ContentPackage> items = _session.CreateCriteria(typeof(ContentPackage))
.Add(Restrictions.Eq("Id", id))
.List<ContentPackage>();
Các kết quả SQL có mệnh đề WHERE trên bảng ánh xạ trung gian (contentAudVidLinks), thay vì bảng "Clips" mặc dù tôi đã thêm thuộc tính filter vào Bag of Clips.
Tôi đang làm gì sai?