인프런 커뮤니티 질문&답변

램쥐뱅님의 프로필 이미지
램쥐뱅

작성한 질문수

실전! Querydsl

수정, 삭제 벌크 연산

@Type(JsonType.claa) 어노테이션 인식 불가 문제.

작성

·

271

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (/아니오)

[질문 내용]
안녕하세요. 강사님.

Entity 가 가지고 있는 필드중에 아래와 같은 필드가있습니다.

//Entity
@Type(JsonType.class)
@Column(name ="INFO", columnDefi...)
private Setting setting;
..

위와 같이 엔티티에 oracle 19c 의 VARCHAR2 타입에 json check 를 활용하여 json 타입의 필드를 사용하고있습니다.

 

아래와 같이 JPA 를 활용하여 데이터를 업데이트할때는 시리얼라이제이션에서 별다른 문제가없는데요

Entity a = em.find(id);
a.setSetting(settingDto);

이후에 정상적인 업데이트 쿼리후
Setting 객체가 json String 형태로 INFO 컬럼에 정상적으로 업데이트됨.

문제는 QueryDSL 형태로 update를 할때입니다.

queryFactory.update(entity)
.set(qEntity.setting, settingDto)
.execute()

위와같이 변경하여 업데이트를 시도하면 org.hibernate.type.descriptor.java.spi.JdbcTypeRecommendationException: Could not determine recommended JdbcType for 'com. .. .Setting'

오류가 발생합니다. 추측하건데 @Type(JsonType.clss) 관련 Entity 의 컬럼 어노테이션을 참조하지 못하는것 같은데 혹시 문제를 겪어보셨거나 해결에 도움이 될만한 내용이있을까해서 질문드려봅니다.

감사합니다.

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 램쥐뱅님

이 부분은 저도 잘 모르겠습니다.

혹시 아시는 분 있으면 답변 부탁드려요.

감사합니다.

램쥐뱅님의 프로필 이미지
램쥐뱅

작성한 질문수

질문하기