创建新实体关联时是否有可用的 Spring 数据休息事件处理程序? IE。 PUT a 到关联资源 url。
我的实体类的关系是:
public class Group{
@ManyToMany
@JoinTable(name = "user_groups",
joinColumns = @JoinColumn(name = "group_id"),
inverseJoinColumns = @JoinColumn(name = "user_id")
)
private List<User> users;
}
我已尝试对/groups/[id]/users 进行 PUT,这将成功地将用户附加到组,但我找不到可在此类事件之后使用的事件处理程序。
我还尝试使用链接对象将 PUT 更新到/groups/[id]/users,这也成功附加了该对象:
{"_links":
{"users":
{"href" : "http://localhost:8084/users/1"}
}
}
我尝试的两个事件处理程序是:
@HandleAfterLinkSave
public void handleGroupUpdate(Group g, User u){
log.debug("User "+u.getUsername() +"added to group "+g.getName());
}
@HandleAfterLinkSave
public void handleGroupUpdateGen(Object g, Object u){
log.debug("User "+u.toString() +"added to group "+g.toString());
}
事件:http://docs.spring.io/spring-data/rest/docs/current/reference/html/#events
最佳答案
文本/uri-列表的正确参数是
public void handleGroupUpdate(Group g, List<User> u)
这与 Group 类内部的用户字段定义一致。
关于用于实体关联更新的 Spring Data REST 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31013562/