【发布时间】:2015-06-17 17:43:18
【问题描述】:
我有两个实体 X 和 Y,关系为 @ManyToMany。 X 有一个 Y 的列表,我们称之为 yList。 X 和 Y 都有其他类成员(它们并不重要)。
我使用 Hibernate 作为 JPA 提供程序,使用 jackson-databind / jackson-annotations 进行序列化和反序列化等思想。
现在,从客户端接收到以下 json。它具有 X 的所有字段,但只有 Y 的 id 列表。作为具体示例,X 可以是 Person,Y 可以是 Country。并且多对多关系捕获了谁访问了哪些国家。
{
name: 'Bob Dylan',
age: '74',
visitedCountryIds: ['45', '23', '85']
}
在反序列化这个 json 时,我想填充实体 X 的所有字段,包括 yList,以便通过在数据库中查找这些实体来解析 yList 的元素。
到目前为止,我的想法是通过编写 JsonDeserializer 的自定义子类来反序列化 yList,并让它通过 id 执行查找。
这是一个合理的方法吗?
【问题讨论】:
标签: json jpa jackson deserialization