所以我有一个实体,它与表中的现有数据库具有一对一的关系。但是,我希望它映射到的字段不是主键。我怎样才能做到这一点?我应该在下面添加什么?
@Entity
public class MyEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToOne
private Long otherTableField;
}
您需要
使用 referencedColumnName
显式指定@JoinColumn
:
@OneToOne
@JoinColumn(name = "other_table_non_primary_id", referencedColumnName= "non_primary_id"
private OtherTable otherTableField;
此外,类型必须OtherTable
而不是长。