簡體   English   中英

通過版本日期表示休眠實體中聯接表的單個元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM