您必须使用 @Type 注释道具“myEntityExtention”,但不能同时添加 @Type 和 @Convert..
正如您在本教程 中看到的,您必须在实体顶部定义 json 类型:
@Entity
@Table(name = "some_table_name")
@TypeDef(name = "json", typeClass = JsonStringType.class)
public class CustomEntity {
然后添加@Type注释而不是@Convert:
@Type( type = "json" )
private Map<String, Object> myEntityExtention;
确保添加所有正确的依赖项/版本。
IE 我使用的是休眠 5.4,所以我的依赖项是:
<!-- Hibernate ORM core version 5.4.21.Final (inherited from spring-boot 2.3.4)-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-hibernate5</artifactId>
<version>2.8.4</version>
</dependency>
<dependency>
<groupId>com.vladmihalcea</groupId>
<artifactId>hibernate-types-52</artifactId>
<!--for hibernate >= 5.2-->
<version>2.10.2</version>
</dependency>
</dependencies>