簡體   English   中英

SpringBoot 將 Java 實體映射到數據庫中的 Json 列

[英]SpringBoot map Java entity to Json column in database

在使用 JPA hibernate 將 Spring 的實體屬性映射到 Postgres DB 中的 json 列時需要幫助。 我們在 db 中有一個類型為 JSON 的列,但在 spring 中找不到其對應的映射。

試過這個 -

 @Column(name = "tags", columnDefinition = "jsonb")
 @JsonProperty("tags")
 private Map<String,Object> tags = new HashMap<>();

但是有了這個,我們在創建數據庫表時遇到錯誤關於這個有什么建議嗎? 謝謝。 任何幫助表示贊賞。

對此沒有開箱即用的支持。 但是您可以使用vladmihalcea庫。

搖籃依賴:

implementation 'com.vladmihalcea:hibernate-types-52:2.16.2'

您的實體:

import com.vladmihalcea.hibernate.type.json.JsonType;
import org.hibernate.annotations.Type;
import org.hibernate.annotations.TypeDef;
import org.hibernate.annotations.TypeDefs;

import javax.persistence.Column;
import javax.persistence.Entity;

@Entity
@TypeDefs({
    @TypeDef(name = "json", typeClass = JsonType.class)
})
class YourPojo {
    
    @Type(type = "json")
    @Column(name = "tags", columnDefinition = "json")
    private Map<String,Object> tags = new HashMap<>();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM