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

问题描述

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

我在两个表之间有一个简单的关系,它们之间有一个@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 (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...