在REST中更新多对一关系

时间:2014-05-02 20:15:41

标签: spring rest spring-mvc one-to-many many-to-one

我需要一些想法来解决我的问题。我在用户和公司之间有一对多的关系。客户端和服务器之间的数据传输没有问题。问题是当我发送公司对象时,用户在发送数据时自动设置为空

更新:当我获取用户对象时,我也获得了相关公司。问题是当我获取Company对象时,我将用户字段设为null!

编辑:从客户端发送的用户字段已填写但服务器将用户设置为空。我找不到问题。

这是我的代码段。

@Entity(name="user")
@Table(name="user")
public class User implements Serializable {
..
    @OneToMany(fetch = FetchType.LAZY, mappedBy = "user", cascade=CascadeType.ALL)
    @JsonManagedReference("company")
    private List<Company> userCompanies = new ArrayList<Company>(0);
..
}

@Entity(name="company")
@Table(name="company")
public class Company {
..
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "user_id", nullable = false)
    @JsonBackReference("company")
    private User user;
..
}

@RequestMapping(value = "/company/update", method=RequestMethod.PUT)
public @ResponseBody void updateCompany(@RequestBody Company company) {
    companyService.updateCompany(company);
}

0 个答案:

没有答案