5

我正在尝试使用 MongoDB 数据库的 JHipster。对于我的示例,我想存储书籍。为此,我想使用 JDL 格式来生成实体、存储库、服务、dtos……</p>

这是我的实际 JDL 文件:它有效:

entity Book {
    name String required
    date LocalDate required
}

dto all with mapstruct
paginate all with pager
service all with serviceImpl

现在,我想添加一个概念,即 aBook可以由 a 编写Author

我可以添加一个实体Author

entity Author {
        firstane String required
        lastname LocalDate required
    }

我的具体问题是:如何关联 anAuthor和 a Book

该文档有这个例子:

relationship OneToMany {
  Author{book} to Book{writer(name) required}
}

但这不起作用,因为 NoSQL 数据库不支持关系。那么,我该如何实现呢?

谢谢。

4

1 回答 1

4

你还没有确切地说出你想对你的实体做什么。对于 NoSQL 数据库,这成为一个更重要的问题。假设您想将作者及其所有书籍作为单个文档返回。

以下是一些选项:

  • 在 JHipster 中有两个没有正式关系的独立实体。创建一个使用 Author Repository 查找作者的服务,并使用 Book Repository 获取具有相同作者 ID 的书籍。
  • 在 JHipster 中有一个 Author 实体。将书籍建模为每个Author. 不幸的是,JHipster 似乎不允许您将列表类型定义为实体字段,因此您必须自己将其添加到 Java 代码中。
  • 您也许可以使用$lookupmongodb 3.2 中的功能来获取给定作者的书籍。DBRef在这种情况下,spring-data-mongo 中的功能可能会有所帮助。
于 2017-07-09T17:30:34.940 回答