将JsonElement保存到单个表列

时间:2016-08-26 10:55:26

标签: java hibernate jpa gson

(在我看来,这个问题应该已经在某个地方被问到了,但是我无法找到它,所以请原谅我,如果它是重复的话)

我正在使用Hibernate和Gson。说,我有一个这样的对象

@Entity
class Foo {
    ...
    com.google.gson.JsonElement bar;
    ...
}

Foo.bar可以是任意格式。这就是为什么我需要将它保存在单个数据库字段中的原因,即我需要序列化它,大概是JSON,并将该字符串保存到bar表的foo列中。目前,不出所料,我只是从Hibernate收到错误,因为JsonElement类型没有映射到字符串类型的数据库列。我怎样才能实现这种映射(使用Hibernate,或者更常见的是JPA)?

1 个答案:

答案 0 :(得分:1)

您应该使用JPA 2.1 @AttributeConverter,然后可以将JsonElement转换为String。如果您需要使用这些

,它还可以在其他JPA提供程序中完全移植