Spring Boot liquibase中的JSON数据列

7kqas0il  于 2022-11-05  发布在  Spring
关注(0)|答案(1)|浏览(246)

我想创建一个表,其中包含一个名为data的列,用于存储json数据。如何在xml文件中添加该列,以及如何在Model类中添加该列。目前我是这样做的,但我不知道它是否正确。

<changeSet author="ABC" id="HUI">
        <createTable tableName="archived_table">
            <column autoIncrement="true" name="id" type="BIGINT">
                <constraints primaryKey="true"
                             primaryKeyName="archive_tablePK" />
            </column>
            <column name="created" type="TIMESTAMP(6)">
            </column>
            <column name="data" type="jsonb"/>
        </createTable>
    </changeSet>

至于我的模型类,我是这样做的

@Entity
@Table(name = "archived_table")
public class ArchiveModel extends  BaseModel{
    @Column(nullable = false)
    private JSONObject data;

public ArchiveDataModel(
            JSONObject data,
    ){
        super();
        this.data=data;
    }

 public JSONObject getData() {
        return data;
    }

    public void setData(JSONObject data) {
        this.data = data;
    }
}
2skhul33

2skhul331#

您的色谱柱类型应为String,您应使用ObjectMapper.writeValueAsString()写入值,并使用ObjectMapper.readValue读取值。然后,应清楚如何使用liquibase处理它。

相关问题