Я пишу приложение Spring, и в целом все идет хорошо. У меня есть таблица соединений для отношения многие-многие, которую мне пришлось переименовать из-за какой-то другой ошибки, когда таблицы соединений, содержащие одно из имен одного из родительских объектов, по-видимому, не могут быть найдены должным образом.
Во всяком случае, я создаю таблицу с помощью SQL с использованием пролетного пути, подобного этому
create table harvest_request_matches (
harvest_request_id int not null references harvest_request(id),
matches_id int not null references inventory_item(id)
);
, и переименовываю его следующим образом
ALTER TABLE "public"."harvest_request_matches" RENAME TO "request_matches";
, и вот как имя таблицыссылка в коде
//InventoryItem.java
@JsonIgnoreProperties("matches")
@ManyToMany
@JoinTable(
name = "request_matches",
joinColumns = @JoinColumn(
name = "matches_id",
referencedColumnName = "id"
), inverseJoinColumns = @JoinColumn(
name = "harvest_request_id",
referencedColumnName = "id"
)
)
private List<HarvestRequest> requestList;
Выполнение запроса, который ссылается на таблицу соединений, вызывает эту ошибку
SQL Error: 0, SQLState: 42P01
ERROR: relation "harvest_request_matches" does not exist
Глобальный поиск в моем проекте строки с ошибкой harvest_request_matches
дает только SQLфайлы, на которые я ссылаюсь выше.
Любой совет приветствуется, моей идеальной ситуацией было бы иметь эту работу с новым именем, но я могу также вернуться к старому имени, если это невозможно (хотя я могуне представляю, почему бы и нет)
Спасибо за чтение!