[英]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.