hibernate有什么序列化/反序列化json(或xml)列将其转换为真实的模型属性吗?

thi*_*ofm 5 java hibernate

在Rails中,我们有一个serialize方法,它将一个属性(或列)保存在数据库中时自动序列化为json.

保存并查询该对象后,可以将对象序列化的json作为实际类属性进行访问.

我的问题是:是否有任何内置或包,将此功能添加到休眠?如果是否定的,是否可以使用反射java api动态创建属性?

我对此提出质疑是因为我对学习Java以及使用JVM可以做些什么感兴趣.

谢谢.

Tom*_*son 4

我不太明白你想要什么,抱歉。

但是,如果您想要一个对象的字段,其值以序列化形式保存到数据库的单列中,而不是映射到对另一个表中的行的引用,那么这是 JPA 的标准部分。您只需定义一个字段,然后不要使用关系注释来注释它。不过,我相信该字段的类型必须是 的子类型Serializable(遗憾的是)。例如:

@Entity
public class Colleague {
    @Id
    private int id;
    private HashMap<Date, String> diary;
}
Run Code Online (Sandbox Code Playgroud)

这将映射到如下表:

create table Colleague (
    id integer primary key,
    diary blob
)
Run Code Online (Sandbox Code Playgroud)

现在,您提到了 JSON。这不会使用 JSON;它将使用标准的 Java 序列化。我认为没有任何特别明智的方法可以让它使用 JSON 来代替;最简单的可能是将要序列化的对象包装在 JSONifying 包装器中。不太难,但有点奇怪。

尽管如此,尽管这不是 JSON,但它的用途大致相同:数据进入数据库然后返回。

再说一遍,不知道这是否真的是您想要的,抱歉!