【发布时间】:2015-01-27 20:03:06
【问题描述】:
我们正在使用Spring MVC 4。
假设我有一个名为Customer 的实体。该实体有几个属性,有些允许空值,有些则不允许。
我们还使用了一个DTO 对象 (CustomerDTO),它从远程客户端通过@RequestBody 传递到我们的@RestController。
这是我遇到的问题。假设用户通过PUT 传递以下内容:
{
"id": 123,
"name": "ACME",
"desc": "Blah"
}
一切都很好。但是如果用户只想更新name,他们传入:
{
"id": 123,
"name": "ACME 2"
}
客户现在在desc 中有一个null,这是允许的。
所以我的问题是,如果没有将 desc 传递到 DTO 中,我怎样才能让 Spring/Hibernate 甚至不将 desc 放入更新语句中?
我认为,问题在于 Spring 将以下内容视为同一件事:
{
...
"desc": null,
...
}
{
...
... <desc omitted>
}
谢谢
【问题讨论】:
标签: java hibernate spring-mvc dto