Spring DATA REST JSON映射器到域模型

时间:2016-03-30 12:58:53

标签: json jackson gson spring-data-jpa spring-data-rest

我有问题,我正在使用Spring Data Rest。所以我有一些像这样的域模型:

@Entity
public class Sample implements Serializable {
    @Id
    @GeneratedValue
    private Long id;

    @Column(name = "name")
    private String name;

    @Column(name = "is_main")
    private Boolean isMain;

    @LastModifiedDate
    @Column(name = "last_modified")
    private Date lastModified;

    @ManyToOne
    @JoinColumn(nullable = false,name = "user_id")
    private User user;

    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(nullable = false,name="state_id")
    private SampleState state;
}    

所以从客户端我发送POST请求到http:// {server.host}:8080 / samples 使用JSON创建Sample:

{"name":"sample","user":{"id":1},"state":{"id":1}}

希望它会自动映射"用户" json到Model param" user",但是HttpMessageConverter只是忽略"状态" JSON对象和"用户" Json对象。您能帮助我如何设置自定义转换器或任何其他创建样本的方法吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

你的意思是忽略

顺便说一下,如果你有“用户”这样的话。并且'州'具有' id'的对象价值' 1&#39 ;;然后,关联应该在数据库中成功保留新的样本对象。

但是如果你想将整个对象图创建为db,那么id值应为null,也许你可能需要设置正确的级联选项。