Neo*_*Neo 6 java postgresql spring-boot jsonb
我在 springboot(2.1)+postgres(10.5)+hibernate(5.3.7) 中使用 jsonb。
以下是文件中的更改:
....
<dependency>
<groupId>com.vladmihalcea</groupId>
<artifactId>hibernate-types-52</artifactId>
<version>2.3.5</version>
</dependency>
....
``
@Entity(name = "Event")
@Table(name = "event")
@TypeDefs({
@TypeDef(name = "string-array", typeClass = StringArrayType.class),
@TypeDef(name = "int-array", typeClass = IntArrayType.class),
@TypeDef(name = "json", typeClass = JsonStringType.class),
@TypeDef(name = "jsonb", typeClass = JsonBinaryType.class),
@TypeDef(name = "jsonb-node", typeClass = JsonNodeBinaryType.class),
@TypeDef(name = "json-node", typeClass = JsonNodeStringType.class),
})
public class Event {
@Type(type = "jsonb")
@Column(columnDefinition = "jsonb")
private List<Location> alternativeLocations = new ArrayList<Location>();
//Getters and setters omitted for brevity
}
Run Code Online (Sandbox Code Playgroud)
``
在运行 springboot 应用程序时,它给出了以下错误:
nested exception is org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [jsonb]
所有其他设置都是使用 postgres 的标准 sprintboot 设置。创建此上述错误后即将到来。
请让我知道相同的可能原因,提前致谢:)
Cha*_*awa 11
我正在使用 hibernate-types-52 类的最新版本 2.4.3,并且遇到了同样的错误。
我只使用我在实体类上需要的单个 typedef 来解决它。
@TypeDef(name = "jsonb", typeClass = JsonBinaryType.class)
Run Code Online (Sandbox Code Playgroud)
Postgres 9.4、Java 11、Hibernate 5.3.7
@Entity(name = "audit")
@TypeDef(name = "jsonb", typeClass = JsonBinaryType.class)
public class Audit {
@Type(type = "jsonb")
@Column(name="audit_data", columnDefinition = "jsonb")
private Map<String,Object> auditData;
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6870 次 |
| 最近记录: |