引起:org.hibernate.MappingException:无法确定类型:com.fasterxml.jackson.databind.JsonNode

时间:2017-09-27 12:44:56

标签: json jpa mapping

我正在尝试使用javax.persistence。*通过uesing @Entity自动创建Table。 这是一些问题。 无论如何都要通过使用Annotation将JsonNode转换为String。

enter image description here

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

使用@Transient注释您的Json属性(请参阅https://stackoverflow.com/a/1281957/66686)。这将使JPA忽略它。

拥有另一个String属性。在String和Json表示之间的getter和setter转换中。

如果您有许多这样的属性,您可能想要使用嵌入式,或者如果您正在使用Hibernate用户类型(其他JPA提供程序可能提供类似的东西)。请参阅此文章以获取示例:https://theodoreyoung.wordpress.com/2012/02/07/custom-user-types-with-jpa-and-spring/