【问题标题】:Caused by: org.hibernate.MappingException: Could not determine type for: com.fasterxml.jackson.databind.JsonNode原因:org.hibernate.MappingException:无法确定类型:com.fasterxml.jackson.databind.JsonNode
【发布时间】:2018-03-08 23:07:58
【问题描述】:

我正在尝试使用 javax.persistence.* 通过使用 @Entity 来自动创建表。 这里有一些问题。 无论如何通过使用注释将 JsonNode 转换为字符串。

编辑:Jpa 是 Spring-Data-Jpa,JsonNode 是 fastxml.jackson

【问题讨论】:

  • 请将代码和堆栈跟踪作为文本而不是图像发布。

标签: json jpa mapping


【解决方案1】:

您不能在使用 Spring Data Jpa 的实体列上使用 JsonNode,您必须使用 String,并且在另一个类中您可以编写一个将字符串转换为 Json(将 Jason 转换为字符串)格式并已解决的方法!

【讨论】:

  • 我是 Spring Data Jpa 的新人。你能给我一些例子或链接吗?谢谢
  • 例如 -- @Column(name = "description") 私有字符串配置;你可以使用这个教程将字符串转换为 Json -- java67.com/2016/10/…
【解决方案2】:

使用 @Transient 注释您的 Json 属性(请参阅 https://stackoverflow.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/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 2013-01-25
    相关资源
    最近更新 更多