JPA / Hibernate一对多关联建模为一对一

时间:2013-07-09 17:56:11

标签: hibernate jpa one-to-one domain-model

我正在尝试使用有效记录日期模式来简化 领域模型。

要处理的人是OneToMany,但截至给定日期 是OneToOne。

人员和地址都有一个开始和结束日期,以说明随时间的变化。 此外,Address可以用于两个角色 - 家庭和工作。

我正在使用JPA 2.0和Hibernate 4.2扩展。

因此,我希望域对象看起来像这样:

人员类

public class Person {
@Transient
Date effectiveDate; // used to filter Person and Address record by effective date

long id;

Date start;

Date end;

String firstName;

String lastName;

Address home; // not Collection<Address> homeAddresses;

Address work; // not Collection<Address> workAddresses;

}

和地址类

public class Address {

long id;

Date start;

Date end;

String street;

String city;


String state;
}

问题:

1.即使表格属于OneToMany关联,是否可以将@OneToOne用于人员地址关联?

2.如何使用JPA注释做到最好? Hibernate提供了@Filter,但是它还不会假设OneToMany关联吗?

0 个答案:

没有答案