Как соотнести две сущности в Jhipster JDL? - PullRequest
0 голосов
/ 14 мая 2018

Допустим, у вас есть приложение Jhipster, которое имеет профиль и должно зарегистрировать, какие профили следуют за другими профилями с 2 атрибутами: один для пользователя, который следует (профиль пользователя), и другой для отслеживаемого пользователя (профиль следует).Что-то вроде:

entity Profile {
    creationDate Instant required
}

entity Follows {
  creationDate Instant
}

relationship OneToMany {
    Profile{follows(user)} to Follows{profile(id)}
    Profile{follows(followed)} to Follows{profile(id)}
}

Проблема в том, что Follows.java имеет 2 идентичных атрибута, даже если разные имена: follow (пользователь) и следует (follow):

@ManyToOne
private Profile profile;

... вместо ...

@ManyToOne
private Profile user;

@ManyToOne
private Profile followed;

Спасибо.

Ответы [ 3 ]

0 голосов
/ 16 мая 2018
entity Profile {
    creationDate Instant required
}

entity Follows {
  creationDate Instant
}

relationship ManyToOne{
    Follows{user} to Profile
    Follows{followed} to Profile
}
0 голосов
/ 07 февраля 2019

Предположим, вы хотите установить связь между комнатами и пациентом

Вы можете иметь эти объекты

entity NmsPatient {
photo ImageBlob
}

entity NmsRoom {
code String required,
name String required
}

entity NmsPatientRoom {
    begin ZonedDateTime,
    end ZonedDateTime
}

А потом

relationship ManyToOne {
 NmsPatientRoom{patient} to NmsPatient,
 NmsPatientRoom{room} to NmsRoom
}
0 голосов
/ 15 мая 2018

Вы используете одно и то же имя отношения для обоих отношений, но каждое имя отношения должно быть другим, иначе поля конфликтуют.

relationship (OneToMany | ManyToOne | OneToOne | ManyToMany) {
  <from entity>[{<relationship name>[(<display field>)]}] to <to entity>[{<relationship name>[(<display field>)]}]
}

Документы декларации отношений JDL

В случае вашего образца JDL я изменил поле отображения с user / followed на id, так как эти поля не существуют на объекте. Важным изменением является то, что имена отношений уникальны.

relationship OneToMany {
    Profile{followed(id)} to Follows{followed(id)}
    Profile{following(id)} to Follows{following(id)}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...