JPA:将OneToOne Long值(不是实体)映射到不是主键的另一个表列

时间:2019-06-07 08:37:09

标签: java jpa orm spring-data-jpa

所以我有一个实体,该实体与表中的现有数据库具有一对一的关系。但是,我要映射到的字段不是主键。 我该如何实现?我要在下面添加什么?

@Entity
public class MyEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @OneToOne
    private Long otherTableField;
}

1 个答案:

答案 0 :(得分:0)

您需要使用@JoinColumn明确指定referencedColumnName

@OneToOne
@JoinColumn(name = "other_table_non_primary_id", referencedColumnName= "non_primary_id"
private OtherTable otherTableField;

此外,类型必须为OtherTable而不是Long。