java - JHipster : Generate MongoDB entities with JHipster Domain Language (JDL)

标签 java mongodb jhipster jdl

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

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

entity Book {
    name String required
    date LocalDate required
}

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

现在,我想补充一个 Book 的概念。可以由 Author 写.

我可以添加实体 Author :
entity Author {
        firstane String required
        lastname LocalDate required
    }

我的具体问题是:我如何关联 Author和一个 Book ?

文档有这个例子:
relationship OneToMany {
  Author{book} to Book{writer(name) required}
}

但这不起作用,因为 NoSQL 数据库不支持关系。那么,我怎样才能做到这一点?

谢谢。

最佳答案

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

以下是一些选项:

  • 在 JHipster 中有两个没有正式关系的独立实体。创建一个 service使用 Author Repository 查找作者,并使用 Book Repository 获取具有相同作者 id 的书籍。
  • 在 JHipster 中有一个 Author 实体。模型书作为 array of embdedded documents每个Author .不幸的是,JHipster 似乎不允许您将列表类型定义为实体 fields因此您必须自己将其添加到 Java 代码中。
  • 您可以使用 $lookup mongodb 3.2 中的特性来获取给定作者的书籍。 DBRef 在这种情况下,spring-data-mongo 中的功能可能会有所帮助。
  • 关于java - JHipster : Generate MongoDB entities with JHipster Domain Language (JDL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44998464/

    相关文章:

    java - LogRecord.getSourceMethodName() 返回 lambda$0

    java - JTree 线型和 Nimbus

    java - ConcurrentHashMap 的 ConcurrentModificationException

    java - 如何关闭 Activity 的 JFrame

    node.js - 如何管理 MongoDb 集合中的大数据

    java - 来自 JDL 的 SQL DDL - Jhipster

    mongodb - 为什么 mongorestore 恢复索引?

    Mongodb $geoIntersect 问题

    java - Jhipster/Spring Kafka 消费者与 Python 生产者

    java - 无法在我的 jhipster 应用程序上加载其他配置文件