Jhipster JDL关系。两个实体之间的关系,实体A与实体B中的两列是一对多的

时间:2020-02-18 10:50:35

标签: hibernate jhipster jdl

实体A:人, 实体B:付款(列:有效日期,fromPerson,toPerson)。 人员应该与fromperson和to 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文件生成代码时,在两次定义关系的人pojos中出现错误,并且在纠正它们时,应用程序花费的时间太长,无法启动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 个答案:

答案 0 :(得分:1)

问题是您有两个从PersonPayment的关系,但是没有为它们中的任何一个指定关系名。两者都会使用默认名称(payments,我想这会给您留下两个具有相同名称的字段,由于明显的原因,这是不正确的。

给他们起名字,一切都应该正确生成。

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