Maybe you can try using a Filter.
Code:
<hibernate-mapping package="whatever">
<class name="youName" table="yourtable >
<property></property>
<property></property>
<property></property>
<set></set>
<filter name="FilterBasedOnCountryAndLanguage" condition="languageCode=:language and countryCode=:country"/>
</class>
<filter-def name="FilterBasedOnCountryAndLanguage">
<filter-param name="language" type="java.lang.String"/>
<filter-param name="country" type="java.lang.String"/>
</filter-def>
</hibernate-mapping>
Then you can go:
Code:
session.enableFilter("FilterBasedOnCountryAndLanguage").setParameter("language","FRENCH").setParameter("country", "CANADA");
Should work... make sure you understand that filters do not apply to cached data... so they must be setup in the session prior to hitting the database.
Good luck.