Mysql使用json数据类型,对应实体类写法 左手的ㄟ右手 2024-03-27 12:39 28阅读 0赞 mysql中数据类型json,要求版本5.7及以上 所需依赖 <dependency> <groupId>com.vladmihalcea</groupId> <artifactId>hibernate-types-52</artifactId> <version>2.10.4</version> </dependency> 实体类 @Column(columnDefinition = "json comment '源数据'") @TableField(typeHandler = ExtendDataTypeHandler.class) @Type(type = "json") private Map<String, Object> sourceData; **注意:** **Hibernate ORM 中没有json 类型。您可以使用** [**Hibernate Types project**][Hibernate Types project]**它提供对 JSON 的支持。** **要添加对 json 的支持,需要将以下 @TypeDef 注释添加到您的实体:** @TypeDef(name = "json", typeClass = JsonStringType.class) 对应的JSON序列化处理器 @MappedTypes({Map.class}) @MappedJdbcTypes(JdbcType.VARCHAR) public class ExtendDataTypeHandler extends FastjsonTypeHandler { private final Class<Map<String, Object>> type; public ExtendDataTypeHandler(Class<Map<String, Object>> type) { super(type); this.type = type; } @Override protected Map<String, Object> parse(String json) { return JSON.parseObject(json, type); } } 我这里是使用的Map<String,Object>去映射,当然你也可以用字符串,JSONObject或者业务实体类去映射 [Hibernate Types project]: https://github.com/vladmihalcea/hibernate-types/
还没有评论,来说两句吧...