본문 바로가기

카테고리 없음

postgres 오류: "테이블_id컬럼_seq" 이름의 릴레이션(relation)이 없습니다

상황

- 오류: "expedia_region_union_region_id_seq" 이름의 릴레이션(relation)이 없습니다

Hibernate: select currval('expedia_region_union_region_id_seq')
SQL Error: 0, SQLState: 42P01
오류: "expedia_region_union_region_id_seq" 이름의 릴레이션(relation)이 없습니다

 

난 프레임워크에 맡기는게 아니라 직접 id. 룰을 만들어서 객체 생성을 하려고 했음. 왜냐면 지금 이 테이블의 row는 하나하나가 OpenStreetMap 기준으로 만든 id 였기 때문.

 

그런데 jpa strategy를 GenerationType.IDENTITY로 설정해놔서

문제가 생긴 것 같음. 이 설정 대로라면 UUID를 pk로 쓰려는 것이기 때문에, 내가 생성한 객체의 id. generator(사실 따로 생성은아니고 그냥 repository로 만든 객체에 set해줌)로는 문제가 생겼다.

 

- 기존에 만들어진 객체들 같은 경우에는 음... id가 uuid도 아니고.  새로 생성하는 객체의 경우에는 jvm이 GeneratinType.IDENTITY로 생성하려고 하고. 그러면 sequence를 만들려고 하고? ? ?  sequence는 없고? 그런상태인건가? 싶은데... 

 

해결방법

 


결론

-

습득 지식

- 새롭게 알게 된 것과 예리하게 알게 된 것 정리.

 

소요시간

-


참고 링크

- https://stackoverflow.com/questions/61931524/springboot-postgresql-create-data-without-sequence?noredirect=1#comment109536958_61931524

- https://vladmihalcea.com/uuid-identifier-jpa-hibernate/