1、安装依赖
com.vladmihalcea:hibernate-types-52:2.18.0
2、实体类字段
package com.thh.jpademo.entity;
import org.hibernate.annotations.Type;
import javax.persistence.*;
import java.util.List;
@Table(name = "sys_user")
@Entity
public class SysUser {
private Long id;
private String name;
@Type(type = "json")
@Column(columnDefinition = "json")
private List<String> hobby;
}
@Type :JPA自动生成表示字段的类型
columnDefinition :自定义需要映射的Java类型,通过@TypeDefs自己绑定关联类型
3、新建package说明文件package-info.java,这样就不用在每个实体类上都去定义,整个包共享
@TypeDefs({
@TypeDef(name = "json", typeClass = JsonStringType.class),
@TypeDef(name = "jsonObj", typeClass = JsonBinaryType.class)
})
package com.thh.jpademo.entity;
import com.vladmihalcea.hibernate.type.json.JsonBinaryType;
import com.vladmihalcea.hibernate.type.json.JsonStringType;
import org.hibernate.annotations.TypeDef;
import org.hibernate.annotations.TypeDefs;