JPA: сопоставление значения OneToOne Long (не сущности) с другим столбцом таблицы, который не является первичным ключом - PullRequest
0 голосов
/ 07 июня 2019

Итак, у меня есть сущность, которая имеет отношение один к одному с существующей базой данных в таблице. Однако поле, к которому я хочу привязать его, не является первичным ключом. Как мне этого добиться? Что я добавлю к ниже?

@Entity
public class MyEntity {

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

    @OneToOne
    private Long otherTableField;
}

1 Ответ

0 голосов
/ 07 июня 2019

Вам необходимо явно указать @JoinColumn с referencedColumnName:

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

Кроме того, тип должен быть OtherTable не длинным.

...