对象列表中的许多关系被截断

问题描述

我正在尝试做一件非常简单的事情,但是作为一个初学者,我不确定我所看到的是否是期望的。

我在两个表之间有一个简单的关系,它们之间有一个@ManyToMany关系。作为一个学习项目,我正在构建一个pastebin,它需要使用Quarkus,Hibernate和Panache将粘贴链接标签

在粘贴方面,我有

    @ManyToMany
    @JoinTable(name = "paste_tag",joinColumns = @JoinColumn(name = "paste_id",referencedColumnName = "id"),inverseJoinColumns = @JoinColumn(name = "tag_id",referencedColumnName = "id"))
    @JsonIgnoreProperties("pastes")
    private Set<Tag> tags = new HashSet<>();

并在“标签”端:

   @ManyToMany(mappedBy = "tags")
   public Set<Paste> pastes = new HashSet<>();

这-及其周围的代码-似乎运行良好,我可以按一下/ api / pastes端点(调用listAll())并获取预期的数据。好吧,差不多。

我插入了三个带有三个示例标签的示例粘贴。我注意到的是,当我调用/ api / pastes时,我得到了:

[
  {
    "id": 1,"name": "/etc/hosts","path": "/etc/hosts","content": "this is /etc/hosts","account": {
      "id": 1,"user_name": "wzzrd"
    },"language": "text","encrypted": false,"privacy": 2,"tags": [
      {
        "@id": 1,"id": 1,"name": "configfile"
      }
    ]
  },{
    "id": 2,"name": "/etc/fstab","path": "/etc/fstab","content": "this is /etc/fstab","privacy": 1,"tags": [
      1,{
        "@id": 2,"id": 2,"name": "fstab"
      }
    ]
  },[...]

我的困惑在于第二个粘贴的标签。它显示的ID为2的标签很好('fstab'),但是ID为1的标签这次仅由id引用,这似乎是因为在第一次粘贴时已经提到过。

对于高级专家来说,这可能是一个愚蠢的“ duh”类型的问题,但是我很难弄清楚这是否是预期的行为,如果是这样,我如何确保每次粘贴时都得到带有其名称的所有标签

我在该主题上阅读的所有内容显示了如何建立关系,但是都没有显示输出示例

要谦虚;)如果需要显示更多代码,我会很乐意这样做。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)