Я использую последний JHipster генератор
izio@1z10:~$ jhipster --version
Using JHipster version installed globally
5.3.4
и использую следующее JDL , запустив
jhipster import-jdl jhipster-jdl.jh
чтобы генерировать мои микросервисы и проекты шлюзов.
application {
config {
baseName Gateway
applicationType gateway
packageName com.app.gateway
databaseType postgresql
devDatabaseType postgresql
prodDatabaseType postgresql
serverPort 8080
languages [en,it,de,fr,es,pt-pt]
serviceDiscoveryType eureka
}
entities *
}
application {
config {
baseName authorMS
applicationType microservice
packageName com.app.ams
databaseType postgresql
devDatabaseType postgresql
prodDatabaseType postgresql
serverPort 8081
serviceDiscoveryType eureka
}
entities Author
}
application {
config {
baseName bookMS
applicationType microservice
packageName com.app.bms
databaseType postgresql
devDatabaseType postgresql
prodDatabaseType postgresql
serverPort 8082
serviceDiscoveryType eureka
}
entities Book
}
entity Author{
Name String required
}
entity Book{
Name String required
}
relationship ManyToMany{
Book{authors(name)} to Author
}
dto * with mapstruct
service * with serviceImpl
paginate * with pagination
microservice Author with authorMS
microservice Book with bookMS
Кажется, все в порядке, по крайней мере, с частью генерации, поскольку в команде jhipster import-jdl
ошибки нет.Проблема здесь в том, что мне нужен способ связать сущности по их идентификатору среди разных микросервисов.Прямо сейчас ссылка сделана неправильно на другой класс сущности (даже если он находится в другом микросервисе).Очевидно, что это приводит к невозможности запуска приложения из-за отсутствия класса сущности.
В таких случаях единственным логическим решением будет связать сущности между различными микросервисами, используя их идентификаторы, а не класс сущностей.
Есть ли способ сделать это из JDL, вместо того, чтобы вносить необходимые изменения вручную?