Maven 依赖
您需要做的第一件事是设置以下内容休眠类型 https://github.com/vladmihalcea/hibernate-types/项目中的 Maven 依赖项pom.xml
配置文件:
<dependency>
<groupId>com.vladmihalcea</groupId>
<artifactId>hibernate-types-52</artifactId>
<version>${hibernate-types.version}</version>
</dependency>
领域模型
现在,如果您使用 PostgreSQL,则需要使用JsonType
来自休眠类型。
为了在您的实体中使用它,您必须在类级别或在包信息.java包级描述符,如下所示:
@TypeDef(name = "json", typeClass = JsonType.class)
并且,实体映射将如下所示:
@Type(type = "json")
@Column(columnDefinition = "json")
private Location location;
如果您使用 Hibernate 5 或更高版本,则JSON
类型由自动注册Postgre92Dialect
.
否则,您需要自行注册:
public class PostgreSQLDialect extends PostgreSQL91Dialect {
public PostgreSQL92Dialect() {
super();
this.registerColumnType( Types.JAVA_OBJECT, "json" );
}
}
The JsonType
也适用于 Oracle、SQL Server、PostgreSQL、MySQL 和 H2。查看该项目 https://github.com/vladmihalcea/hibernate-types/有关如何在各种关系数据库系统上映射 JSON 列类型的更多详细信息,请参阅页面。