>

이것은 postgres 의 테이블에 매핑 된 엔티티 클래스입니다.  (9.4) 메타 데이터를 jsonb 로 저장하려고합니다.  데이터베이스에 입력하십시오

@Entity
@Table(name = “room_categories”)
@TypeDef(name = “jsonb”, typeClass = JsonBinaryType.class)
public class RoomCategory extends AbstractEntity implements Serializable {
    private String name;
    private String code;
    @Type(type = "jsonb")
    @Column(columnDefinition = "json")
    private Metadata metadata;
}

이것은 메타 데이터 클래스입니다 :

public class Metadata implements Serializable {
    private String field1;
    private String field2;
}

jsonb 를 추가하기 위해 다음 마이그레이션 파일을 사용했습니다  열 :

databaseChangeLog:
– changeSet:
id: addColumn_metadata-room_categories
author: arihant
changes:
– addColumn:
schemaName: public
tableName: room_categories
columns:
– column:
name: metadata
type: jsonb

postgres 에서 레코드를 작성하는 중에이 오류가 발생합니다. : 오류 : "metadata"열이 jsonb 유형입니다.  그러나 표현은 bytea 유형입니다. 힌트 : 표현식을 다시 쓰거나 캐스트해야합니다.

이것은 DB에서 유지하려고하는 요청 본문입니다 :

 {
    “name”: “Test102”,
    “code”: “Code102”,
    “metadata”: {
    “field1”: “field11”,
    “field2”: “field12”
    }
    }

bytea 를 변환하는 방법을 도와주세요   jsonb 에 입력  자바 스프링 부트 앱에서


  • 답변 # 1

    hbm2ddl 를 사용하여 스키마를 생성하는 경우 jsonb 를 사용하고 있는지 확인하십시오.   @Column 에서 입력  레벨도 :

    @Column(columnDefinition = "jsonb")
    
    

    이제 질문과 관련이 있습니다 :

    와이즈 비즈

    이 오류가 발생하면 명확하지 않습니다. 따라서이 작업을 수행해야합니다.

    <올>

    최대 절전 모드 프로젝트로 이동하여 포크

    와이즈 비츠 수정  문제를 재현 할 수 있습니다.

    복제 테스트 사례와 함께 풀 요청을 보냅니다.

    나중에 자세히 살펴보고 더 자세히 설명하겠습니다.

    I am getting this error while creating the record in postgres: ERROR: column “metadata” is of type jsonb but expression is of type bytea Hint: You will need to rewrite or cast the expression.

관련 자료

  • 이전 피들러로 Azure 블록 Blob 트래픽 캡처
  • 다음 cx freeze - cx_freeze python bdist_msi에 exe 파일을 추가 할 수 있습니까?