database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 10176 게시물 읽기
No. 10176
postgresql 의 json 타입 관련하여 문의드립니다.
작성자
Jaemyoung Seo(kevin)
작성일
2020-08-24 14:19ⓒ
2020-08-24 19:58ⓜ
조회수
2,436

 안녕하세요.

java에서 배열 타입의 데이터를 PostgreSQL의 json 타입인 column에 넣으려고 하고 있습니다.

 

넣으려고 하는 데이터는 

int [ ][ ] iLineNumbers 이고

line_numbers 칼럼은 JSON 타입 입니다.

iLineNumbers를 java.util.Map

Caused by: org.postgresql.util.PSQLException: ERROR: column "line_numbers" is of type json but expression is of type character varying

과 같은 에러가 발생하고 있습니다.

 

데이터 베이스는 PostgreSQL를 사용중이며 Mybatis를 이용하여 개발중입니다.

 

해결하기 위해 참고했던 자료 링크입니다.

https://developpaper.com/spring-boot-mybatis-json-field-processing/

https://syaku.tistory.com/311

 

고수님들의 고견 부탁드립니다.

이 글에 대한 댓글이 총 2건 있습니다.

다 예제가 테이블의 칼럼이 단순 문자열이네요.

테이블의 칼럼 자료형은 문자열로 바꾸면 해결 날 것 같네요.

 

반대로 테이블의 칼럼을 json으로 하고, mybatis 에서 쓰겠다면 mybatis 개발 그룹에서 답을 찾아야할 것 같습니다.

array, json, range ... 등과 같은 jdbc driver 표준에 포함되지 않는 자료형들의 처리에 대한 것은 개별 jdbc driver에서 확장 클래스로 제공하거든요. 이 확장 클래스와 mybatis가 서로 만나야 저 문제가 풀릴 것 같네요.

 

저수준 처리에서는 '{....}'::json 이렇게 강제 형바꾸기를 하면 되기는 합니다만, mybatis에서 이걸 어떻게 하는지는 모르겠습니다.  mybatis 처럼 고급 라이브러리들은 그냥 응용 프로그램에서 쓰던 자료형 그대로 넘기면 그 형 그대로 저장되게 해 두었습니다. 그방법을 찾으셔야 할 것 같네요.  (java에 json이 있나?)
 

김상기(ioseph)님이 2020-08-25 10:26에 작성한 댓글입니다.

https://www.slideshare.net/pgday_seoul/pgdayseoul-2017-4-composite-typejson-tvpwith-c-java


이렇게 하시면 됩니다.

지현명(gwise)님이 2021-03-31 11:28에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
10179파티션테이블 바인드변수 처리 [2]
궁금
2020-09-08
1894
10178datacamp를 통한 sql 입문 [1]
달려라펀치맨
2020-09-06
1675
10177plpgsql 에서 세션변수 설정 [2]
궁금
2020-08-24
1929
10176postgresql 의 json 타입 관련하여 문의드립니다. [2]
Jaemyoung Seo
2020-08-24
2436
10174PostgreSql설치시 경로변경 [1]
축구선수
2020-08-14
1790
10173pg_wal 디렉토리 변경 [2]
포스그래맨
2020-08-13
1756
10172배열형 타입의 입력값 [2]
TEST
2020-08-03
1818
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.052초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다