Java jhipster jdl导入与微服务

Java jhipster jdl导入与微服务,java,microservices,jhipster,jdl,Java,Microservices,Jhipster,Jdl,我有一个model.jdl,其中所有实体的定义如下 entity A{ ... } entity B{ ... } entity C{ ... } entity D{ ... } 我添加了一些选项,以在微服务中分发这些实体,有时类似这样: microservice A,B with gateway microservice C with app1 microservice D with app2 当我在gateway文件夹中运行“yo jhipster:import jdl model.j

我有一个model.jdl,其中所有实体的定义如下

entity A{ ... }
entity B{ ... }
entity C{ ... }
entity D{ ... }
我添加了一些选项,以在微服务中分发这些实体,有时类似这样:

microservice A,B with gateway 
microservice C with app1
microservice D with app2
当我在gateway文件夹中运行“yo jhipster:import jdl model.jdl”命令时,liquibase的变更日志不包括实体A和B

如果在apps文件夹中运行导入,liquibase更改日志将显示忽略定义的分发的所有实体

我在没有微服务选项的单片应用程序中测试了该模型,效果很好

这里是一个测试模型:

entity Car{
    name String required
    color Color
}

enum Color{
    BLACK,WHITE,BLUE,GREEN,YELLOW
}

entity House{
    address String required
}

entity Info{
    phone String required
}

relationship OneToOne{
    Info{user(login) required} to User
}

microservice Info with gateway
microservice Car with app1
microservice House with app2
search * with elasticsearch

这里的问题在于microservice gateway的
。这不是你认为的那样

microservice
关键字实际上用于提示生成器应在microservice上生成后端文件,并应在网关上生成具有正确“URL路径前缀”的相应前端文件。这样,您就可以对微服务和网关使用相同的jdl文件。在microservice上,该关键字被忽略,但在网关上,它将阻止生成后端文件,并正确设置实体前端以调用
/microservice/api

您只需要在网关上生成一个常规实体,因此只需删除带有microservice gateway的


如果您认为我们的文档在这方面需要改进,请向JHipster/JHipster.github.io提交PR。

您的问题在于microservice gateway的
。这不是你认为的那样

microservice
关键字实际上用于提示生成器应在microservice上生成后端文件,并应在网关上生成具有正确“URL路径前缀”的相应前端文件。这样,您就可以对微服务和网关使用相同的jdl文件。在microservice上,该关键字被忽略,但在网关上,它将阻止生成后端文件,并正确设置实体前端以调用
/microservice/api

您只需要在网关上生成一个常规实体,因此只需删除带有microservice gateway的


如果您认为我们的文档在这方面需要改进,请向JHipster/JHipster.github.io提交PR。

感谢您的回答,我只是删除了这一行,微服务的变更日志仍然包括所有表……我认为有一个问题,我刚刚在github报告中报告。。。谢谢你的回答,我只是删除了这行,微服务的变更日志仍然包括所有的表…我认为有一个问题,我刚刚在GitHub报告中报告了。。。