[英]Representing a single element of a join table in a hibernate entity by version date
我有一個代表我們的Partner
的休眠實體。 我們希望通過聯接表將該伙伴與活動的“ Type
”(另一個實體)相關聯(因為在許多情況下都可以使用Type
)。 需要注意的是,聯接是基於日期的(版本控制)。
我想要的是這樣的:
Partner.getActiveType()
代表
select * from partner_to_type_map
where partner_id = xxx
and now() between effective_from and effective_to;
我當然可以Set<PartToTypeMap>
表表示為一個實體,並且它們在我的Set<PartToTypeMap>
具有該實體可引用的實體,但這會使使用它變得笨拙。 我將不得不整理這些數據,然后他們對其進行排序以找到正確的數據。 我可以使用dao和一些HQL來做到這一點,但我希望將正確的對象放在那里。
聯接表是:
我看了@Version
批注,但這似乎不是我想要的(盡管我可能錯了)。
我可以根據需要發布代碼,但實際上, Partner
是一個簡單的實體。
CREATE TABLE `partner_to_type_reg_map` (
`partner_id` int(11) unsigned NOT NULL,
`account_key_type_id` INT(10) UNSIGNED NOT NULL,
`effective_from` Timestamp NOT NULL,
`effective_to` TIMESTAMP NULL,
PRIMARY KEY (`partner_id`),
UNIQUE KEY `account_key_type_id` (`account_key_type_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
查看@Where和@WhereJoinTable關聯-這將使您可以向關聯映射添加條件。 文檔中的更多詳細信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.