【发布时间】:2016-06-27 07:50:23
【问题描述】:
我看到了一个单向 @ManyToOne 映射示例,其中包含目标 id 的附加映射,例如:
@Entity
public class Person {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "company_id")
private Company company;
@Column(name = "company_id", insertable = false, updatable = false)
private Long companyId;
...
}
我不明白为什么我们需要为 companyId 进行额外的映射。有人能解释一下这个技巧吗?
【问题讨论】:
-
如前所述,companyId 字段不是必需的。但是,如果您想直接访问标识符,而不需要额外的例如,它可能会很有用。 getCompany().getId() 调用,可能为空。据我所知,附加标识符字段并未被广泛使用。