原因:org.hibernate.MappingException:无法确定类型:com.fasterxml.jackson.databind.JsonNode
Posted
技术标签:
【中文标题】原因:org.hibernate.MappingException:无法确定类型:com.fasterxml.jackson.databind.JsonNode【英文标题】:Caused by: org.hibernate.MappingException: Could not determine type for: com.fasterxml.jackson.databind.JsonNode 【发布时间】:2018-03-08 23:07:58 【问题描述】:我正在尝试使用 javax.persistence.* 通过使用 @Entity 来自动创建表。 这里有一些问题。 无论如何通过使用注释将 JsonNode 转换为字符串。
编辑:Jpa 是 Spring-Data-Jpa,JsonNode 是 fastxml.jackson
【问题讨论】:
请将代码和堆栈跟踪作为文本而不是图像发布。 【参考方案1】:您不能在使用 Spring Data Jpa 的实体列上使用 JsonNode,您必须使用 String,并且在另一个类中您可以编写一个将字符串转换为 Json(将 Jason 转换为字符串)格式并已解决的方法!
【讨论】:
我是 Spring Data Jpa 的新人。你能给我一些例子或链接吗?谢谢 例如 -- @Column(name = "description") 私有字符串配置;你可以使用这个教程将字符串转换为 Json -- java67.com/2016/10/…【参考方案2】:使用 @Transient 注释您的 Json 属性(请参阅 https://***.com/a/1281957/66686)。这将使 JPA 忽略它。
拥有另一个字符串属性。在 String 和 Json 表示之间的 getter 和 setter 转换中。
如果您有很多这样的属性,您可能想要使用可嵌入的,或者如果您正在使用 Hibernate 用户类型(其他 JPA 提供商可能会提供类似的东西)。示例见这篇文章:https://theodoreyoung.wordpress.com/2012/02/07/custom-user-types-with-jpa-and-spring/
【讨论】:
以上是关于原因:org.hibernate.MappingException:无法确定类型:com.fasterxml.jackson.databind.JsonNode的主要内容,如果未能解决你的问题,请参考以下文章
“'NSInternalInconsistencyException' 的替代原因,原因:'此 NSPersistentStoreCoordinator 没有持久存储。'”