Jhipster JDL отношения. Отношение между двумя сущностями, сущность A - один ко многим с двумя столбцами отдельно в сущности B - PullRequest
0 голосов
/ 18 февраля 2020

Субъект A: Персона, Субъект B: Оплата (столбцы :ffectiveDate, fromPerson, toPerson). Person должен быть один-ко-многим с fromPerson и Person, чтобы я мог отслеживать плательщика и получателя.

Так я определил их в файле jdl, который не работает должным образом.

entity Person {
  firstName String maxlength(100)
  lastName String maxlength(100)
}
entity Payment{
  effectiveDate Instant
  paymentRefNumber String
  amount Double
}

relationship OneToMany {
  Person to Payment{fromParty}
  Person to Payment{toParty}
}

Когда я генерирую код с помощью этого jdl-файла, я получаю сообщение об ошибке в виде личных заданий, когда отношения определяются дважды, и когда я их исправляю, приложение занимает слишком много времени, чтобы начать примерно 30 минут

Любая идея, где Я ошибаюсь?

Моя конфигурация файла jdl:

application {
  config {
    databaseType sql
    devDatabaseType postgresql
    enableHibernateCache true
    enableSwaggerCodegen false
    enableTranslation true
    jhiPrefix sys
    languages [en, bn, hi, mr, ta, te]
    nativeLanguage en
    packageName com.eezibizi
    prodDatabaseType postgresql
    serviceDiscoveryType false
    skipClient false
    skipServer false
    testFrameworks [gatling, cucumber, protractor]
    websocket spring-websocket
    applicationType monolith
    baseName eezibizi
    serverPort 8080
    authenticationType session
    cacheProvider hazelcast
    buildTool gradle
    useSass true
    clientPackageManager npm
    clientFramework react
  }
  entities *
}

Если есть лучший подход, пожалуйста, предложите

1 Ответ

1 голос
/ 18 февраля 2020

Проблема в том, что у вас есть две взаимосвязи от Person до Payment, но вы не указали имя взаимосвязи ни для одной из них. Имя по умолчанию будет использоваться для обоих (payments я думаю), оставляя вас с двумя полями, имеющими одинаковое имя, и это неверно по очевидным причинам.

Дайте им имена, и все должно быть сгенерировано правильно.

relationship OneToMany {
  Person{outgoingPayments} to Payment{fromPerson}
  Person{incomingPayments} to Payment{toPerson}
}
...