ich ein einfaches Setup, wo ichHibernate Datenfilter auf many-to-many-Sammlung Mapping
class Translation
string locale
enum property (NAME, DESCRIPTION)
string name
und
class SomeObject
string name
string description
set<Translation> translations;
das ist gut arbeiten, werden die Übersetzungen so viele-zu kartiert viele mit hbm
<set name="translations" table="someobjecttranslations" cascade="delete-orphan" lazy="false">
<cache usage="read-write" />
<key column="someobjectid" />
<many-to-many class="Translation" column="translationid" unique="true" />
</set>
Da die Liste der Übersetzung locales kann potenziell sehr groß sein, wollte Hibernate dat nutzen ein Filter auf dieser Sammlung, so fügte ich
<filter-def name="locale" condition=" locale = :locale ">
<filter-param name="locale" type="string" />
</filter-def>
den Filter zu definieren, und hinzugefügt, um Mapping
<set name="translations" table="someobjecttranslations" cascade="delete-orphan" lazy="false">
<cache usage="read-write" />
<key column="someobjectid" />
<many-to-many class="Translation" column="translationid" unique="true" />
<filter name="locale" />
</set>
ich vor etwas ähnliches getan haben, aber nicht zu viele-zu-viele Sammlungen und Es hat gut funktioniert, aber wenn ich dies zu einem Set mache, scheint es, dass es versucht, das Gebietsschema mit der Join-Tabelle abzugleichen, und nicht die Übersetzungstabelle (was ich eigentlich will).
Funktioniert der Datenfilter tatsächlich für Viele-zu-Viele-Sammlungen und wie soll ich ihn einrichten?