カスタムコレクションタイプを含む休止状態のマッピングがあります。
ジャバ:
class Policy {
...
private HistoryMap<Date, PolicyStatus> statusHistory;
...
}
hbm.xml:
<map name="statusHistory" inverse="true" table="tbl_policy_in_time" order-by="PolIt_ValidFrom desc"
collection-type="be.pensionarchitects.admindb.infrastructure.hibernate.HistoryMapType">
...
</map>
HistoryMapType
interfaceHistoryMap
と implementsの実装UserCollectionType
です。
このマップにはgetCurrent()
、現在の を返すメソッドがありますPolicyStatus
。
ここで、特定の PolicyStatus を持つすべての Policy オブジェクトを現在のものとして取得するクエリを実行する必要があります。
何かのようなもの:
Criteria crit = getSession().createCriteria(Policy.class)
.createAlias("statusHistory.current", "status")
.add(Restrictions.or(
Restrictions.eq("status.code", "active"),
Restrictions.eq("status.code", "sleeper")));
「現在」は関連付けマッピングではないため、これが機能しないことを理解しています。これをどのように解決すればよいですか?代わりに HQL を使用する必要があることを読みましたが、それがどのように、また可能なのかさえわかりません。
どんなポインタでも大歓迎です!
ありがとう