zoukankan      html  css  js  c++  java
  • jpa 映射 mysql json 对象

    测试数据:

    其中,tagIDList为json类型

    [{"tagID": "1", "tagName": "tag1"}, {"tagID": "2", "tagName": "tag2"}]

    那我们怎么通过jpa映射呢?

    一,添加依赖

    <!-- https://mvnrepository.com/artifact/com.vladmihalcea/hibernate-types-52 -->
    <dependency>
        <groupId>com.vladmihalcea</groupId>
        <artifactId>hibernate-types-52</artifactId>
        <version>2.12.1</version>
    </dependency>

    二,Entity添加注解

    1 @TypeDef(name = "json", typeClass = JsonStringType.class)

    2 @Type(type = "json")

    3 @Column(name="tagIDList",columnDefinition = "json" )

     
    import com.vladmihalcea.hibernate.type.json.JsonStringType;
    import lombok.Data;
    import org.hibernate.annotations.*;
     
    import javax.persistence.*;
    import javax.persistence.Entity;
    import javax.persistence.Table;
    import java.util.Date;
    import java.util.List;
     
    /**
     * 广告模型
     */
    @Data
    @Entity
    @Table(name="ad_advertisement",catalog = "ss_business")
    @TypeDef(name = "json", typeClass = JsonStringType.class)
    public class AdAdvertisement extends SuperBaseModel {
     
      /**
       * 标签
       */
      @Type(type = "json")
      @Column(name="tagIDList",columnDefinition = "json" )
      private List<AdTag> tagIDList;
     
    }

    看一下AdTag

    package com.tenyears.webAD.model;
     
    import com.tenyears.model.base.SuperBaseModel;
    import lombok.Data;
    import org.hibernate.annotations.GenericGenerator;
     
    import javax.persistence.*;
     
    /**
     * 标签模型
     */
    @Data
    @Entity
    @Table(name="ad_tag",catalog = "ss_business")
    public class AdTag {
     
      /**
       * 主键
       */
      @Id
      private long tagID;
     
      /**
       * 标签名
       */
      @Column(name="tagName")
      private String tagName;
     
     
    }

    三,请求验证

  • 相关阅读:
    IOS 11 通讯录手机号「隐形字符」的 Bug
    本地添加const参数 防止短信接口恶意调用
    javascript阿拉伯数字 转 汉字中文数字
    js去掉数组的空字符串
    Chrome 清除某个特定网站下的缓存
    vue-cli中的babel配置文件.babelrc详解
    提交到github报错Please tell me who you are
    跨域问题
    js单线程、js任务队列、异步操作
    Java 异常
  • 原文地址:https://www.cnblogs.com/hanjun0612/p/15094264.html
Copyright © 2011-2022 走看看