Как установить связь внешнего ключа с таблицей не сущностей в базе данных, используя данные JPA Spring? - PullRequest
0 голосов
/ 04 ноября 2019

Мой весенний загрузочный проект использует существующую базу данных, у меня есть новый объект / таблица модели в моем проекте, который должен иметь ограничение внешнего ключа с существующей таблицей в базе данных.

Я пытался найти решение в Интернете, но все ответы относятся к случаю, когда обе таблицы представлены как объекты в этом проекте и используют некоторые аннотации @ManyToOne, @OneToMany.

Я не могу определить эти аннотации, потому что у меня нет справочной таблицы в качестве объекта или модели в моем проекте.

Допустим, у меня есть такой класс:

@Entity(name = "user")
public class User {
    @Id
    @GeneratedValue
    private long userId;
    private long departmentId;

Я хочу установить ограничение внешнего ключа в столбце departmentId для ссылки на столбец id существующей таблицы department, которая не определена как модель или объект в моем проекте.

Спасибо

Ответы [ 2 ]

1 голос
/ 04 ноября 2019

Попробуйте это так

@ManyToOne
@JoinColumn(name="(column name of current entity)", referencedColumnName="(column name in target entity)")
private Department departmentId;

вы можете пропустить referencedColumnName, если имя столбца одинаково в обеих сущностях

1 голос
/ 04 ноября 2019

Просто сделайте это как обычный пример

@Column(name = "department_id")
private Department departmentId;

Позже вы сможете получить к нему доступ Department.departmentId. Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...