当前位置: 首页 > 知识库问答 >
问题:

实体关联更新的Spring数据REST事件

明利
2023-03-14

当创建新的实体关联时,是否有任何spring data rest事件处理程序可用?即。置入关联资源URL。

public class Group{
  @ManyToMany
  @JoinTable(name = "user_groups",
           joinColumns = @JoinColumn(name = "group_id"),
           inverseJoinColumns = @JoinColumn(name = "user_id")
  )
  private List<User> 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/2.3.0.release/reference/html/#repository-resources.Association-resource

共有1个答案

段干博明
2023-03-14

text/uri-list的正确参数为

public void handleGroupUpdate(Group g, List<User> u)

这与Group类中的users字段定义对齐。

 类似资料:
  • 我想知道如何通过REST调用删除多对多关联。我能够创建记录并将其关联,但不知道如何删除。 我有一个SpringBoot项目,在这个项目中,我使用REST和HATEOAS绕过服务和控制器,并直接公开我的存储库。 我有一个用户模型/域类 如您所见,我有一个roles成员,它与Role类有多对多的关联,其代码如下: 我的仓库看起来是这样的: 用户库 角色还原 现在一切都好了。当我从浏览器访问项目根目录时

  • 我有跟风问题 我有一个Spring数据Rest的基本配置(没有花哨,没有自定义)。 使用spring数据rest webmvc 2.0.0版本和spring数据jpa 1.5.0版本 A类 B类 存储库A 存储库B 当我拯救一个实体时工作正常,但我不知道如何拯救一段关系 e、 g.使用http将“A”保存在“B”中 这是我从这个答案中尝试的最后一件事https://stackoverflow.co

  • 由于我的域类中存在不明确的关联,新添加的正在引发。 链接数组如下所示:

  • Spring数据REST(尤其是Spring HATEOAS)将RESTful ID(即URI)与实体ID解耦,在保存新对象时,我很难将它们链接起来。有关此解耦的有趣讨论,请参见https://github.com/SpringSource/spring-data-rest/issues/13. 假设一个客户端应用程序想要创建一个新的票证资源和一个关联的票证类别资源。我想针对远程Spring数据R

  • 这个问题几乎说明了一切。使用JPARepository,我如何更新一个实体? JPARepository只有一个save方法,它并不告诉我它实际上是create还是update。例如,我向数据库用户插入一个简单的对象,它有三个字段:、和: 然后我只需调用,此时它实际上是对数据库的插入: 到目前为止还不错。现在我想更新这个用户,比如说改变他的年龄。为此,我可以使用查询,无论是QueryDSL还是Na

  • 当我尝试更新一个实体的一个字段时,我是新来的,我注意到在日志中Hibernate执行两个查询,在更新之前,它会对所有字段进行SELECT。可以吗?为什么Hibernate执行SELECT?我如何用一个UPDATE查询更新一个字段?此外,当我试图更新一个实体中的单个标题时,它有另一个嵌套实体,我最终得到了一堆SELECT。我认为这对性能不好,或者我错了? 在互联网上,我找到了使用 @Modifyin