Hibernate 使用关系反序列化实体
我们收到的JSON如下所示:Hibernate 使用关系反序列化实体,hibernate,spring,jackson,Hibernate,Spring,Jackson,我们收到的JSON如下所示: { name: "john", surname: "smith", company: "1234342" } 我们的客户端框架还可以处理对象之间的关系,并且将公司映射到其ID 我们有一个Hibernate客户实体,它有一个与另一个公司实体有关系的公司成员 我们使用Spring的@RequestMapping方法(@RequestBody Customer c)来处理请求和反序列化实体,但是我们无法反序列化提供的JSON。Hibernate不知道如何从字符串构建公司
{ name: "john", surname: "smith", company: "1234342" }
我们的客户端框架还可以处理对象之间的关系,并且将公司映射到其ID
我们有一个Hibernate客户实体,它有一个与另一个公司实体有关系的公司成员
我们使用Spring的@RequestMapping方法(@RequestBody Customer c)
来处理请求和反序列化实体,但是我们无法反序列化提供的JSON。Hibernate不知道如何从字符串构建公司,不管字符串是它的主键
将实体从Hibernate序列化为JSON非常容易,但反序列化似乎是另一回事
是否有任何模式/结构来处理我们想要实现的目标?有人能给我指出正确的方向吗?最简单的解决方案是有两个独立的类模型,一个用于Hibernate,一个用于JSON,并根据需要在它们之间进行转换 但是它不是很优雅,所以Jackson(Spring使用的JSON实现)提供了一个扩展机制(称为),它反过来允许您(即如何将JSON令牌转换为java对象)。看看这个,看看它是否适合你
你;然后,我必须使用自定义映射器。我认为进行这种序列化/反序列化非常理想。如果您将JSON结构作为映射接收,那么您可以告诉dozer将该映射转换为相应的实体对象。是的,目前,我们将映射用于具有关系的实体,并根据需要进行转换。没有关系的实体工作得很好!我将有一个模块看看,我不知道他们。谢谢最后我们决定采用这种方法。。。尽管如此,能够以某种方式通过id进行反序列化还是比较干净的,但我们无法管理。