jddng
615
2022-08-06 22:15:01 작성 2022-08-06 22:25:42 수정됨
1
118

Spring jpa에서 csv 파일


안녕하세요

spring + jpa 환경에서 csv 을 읽어와 db에 저장할려고하는데요

csv 파일 안에 PK, FK을 포함한 정보들이 들어있습니다.


ex)

User 테이블 정보

PK, FK, 유저이름, 유저전화번호

"300","301","이름","01000000000"



근데 제가 지금까지 @Id 전략으로IDENTITY밖에 사용안해봐서 그런지 막혔는데요..


해당 csv값을 직접 mysql에서 csv파일 불러와 저장하고 빌드하여 실행해보면

could not read entity state from resultset  와 같은 에러가 뜹니다.


아마도 JPA에서 IDENTITY 전략으로 하고 있는데 뜬금없이 외부에서 PK값을 포함하여 DB에 저장했기 때문에 해당 값을 가져올려고 할때 에러 나는것 같은데..


이런 경우 어떻게 해야 하나요? 배치를 사용할려고 했지만 이부분에서도 식별자를 어떻게 해줘야할지...

@Id 에 아무런 전략을 안주자니 해당 id값을 일일히 넣어줘서 db에 저장해야하고 이러면 이후에 중복 id값이 발생할수 있는 위험도 있고...


오늘 하루 찾아봤는데 도저히 안보여서 질문드립니다 .. ㅜㅜ 



0
  • 답변 1

  • 유도지
    192
    2022-08-06 22:51:00
    ID 전략이 identity인 엔티티 클래스 하나
    ID 전략이 없는 엔티티 클래스 하나
    중복 코드는 상속받게 하는게 어떨까요?
    실제로 해본적은 없지만
    JPA만 써야한다면 윗처럼 나눌수 있겠고
    jdbc template 같은걸 혼용할 수 있는 상황이면
    jdbc template 추천합니다.
  • 로그인을 하시면 답변을 등록할 수 있습니다.