【发布时间】:2015-07-06 01:55:37
【问题描述】:
我很难创建可以发布到的集合关联。 我有两个实体,设备和组,具有多对多关系。这样一个设备可以在零个或多个组中,一个组可以包含零个或多个设备。
我可以通过 POST 到 /api/devices 和 /api/groups/ 来创建新的设备和组实体。从我对文档的阅读中,设备集合中的设备应该有一个 RestResource 代表设备所属的组的集合(即/api/devices/{deviceId}/groups。这是一个“关联资源”和因为它是Set<Group> 的一个实例,所以我会认为它被视为一个集合关联。我可以将uri-lists 获取并放入该关联,但是当我发布到它时,我得到一个404。
该列表可能会变得非常大,我希望能够发布一个指向收藏关联的新链接,而无需下载整个内容进行修改并返回PUT。
documenation 说应该支持,但我没有运气。
任何建议将不胜感激。
这些域类定义为:
@Entity
public class Device {
@Id
@GeneratedValue
private Long id;
private String name;
@ManyToMany(targetEntity = Group.class, cascade = CascadeType.ALL)
private Set<Group> groups;
// getters, setters
}
和,
@Entity(name="device_groups")
public class Group {
@Id @GeneratedValue
private Long id;
private String name;
@ManyToMany(mappedBy = "groups")
private Set<Device> devices;
// getters, setters
}
每个都声明了一个存储库:
public interface DeviceRepository extends PagingAndSortingRepository<Device, Long> {
}
public interface GroupRepository extends PagingAndSortingRepository<Group, Long> {
}
【问题讨论】:
标签: spring rest jpa spring-data-rest