给定 2 个对象,Person 和 Phone,其中它们的关系是 Person(one)-Phone(many)。电话有变量类型,可以有 4 个可能的值:住宅、办公室、移动、传真。
是否可以在 Person 中映射电话关系两次,如下所示:
class Person {
@OneToMany(mappedBy = "person")
<Phone> phones; //this is for : Residential, Office, Fax only
@OneToOne(mappedBy = "person")
Phone mobile; //this is for Mobile
}
class Phone {
@ManyToOne
@JoinColumn(name = "person_fk")
Person person;
}
隔离的原因是有些屏幕我会显示手机号码但不需要加载其他电话号码,所以我想我不需要 jpa 将所有手机加载到列表中,只需要手机...
这是可以做到的吗?如果是这样,这是正常做法吗?