Как создать свойства @Transient в JHipster? - PullRequest
0 голосов
/ 06 июня 2018

Я думал о том, как создать объект предложения в JHipster следующим образом: чтобы пользователь мог создавать предложение, а другие пользователи могли голосовать за него.

entity Proposal {
    proposalText String  minlength(2) maxlength(100) required
    proposalVotes Integer
}
entity Vote {
    numberOfPoints Integer
}
relationship ManyToOne {
    Vote{proposal(id) required} to Proposal{vote}
    Proposal{user(id) required} to User{proposal}
    Vote{user(id) required} to User{vote}
}

Весной я бы создал этот @TransientofferVotes Целое число и Контролер должны были бы найти все голоса, которые есть в предложении, и сложить их вместе, чтобы получить результат, который будет отправлен во внешний интерфейс.Это свойство не будет храниться в базе данных.

Если я использую JHipster и добавляю свойство offerVotes, результат будет сохранен в базе данных и может быть изменен в диалоговых окнах (... и я некак результат), поэтому мой вопрос: какова лучшая практика в JHipster, когда вам нужно свойство, которое вычисляется при каждом вызове его объекта?

Подумайте о количестве комментариев в блоге с сообщениями, еслиэто более знакомо.

Где вы рассчитываете результат: я бы сделал это в ProposalResource, но я не уверен, и я не видел ни одного варианта использования, подобного этому, в примерах, но он выглядит как общий случай.

Большое спасибо

PD: Если есть какой-нибудь пример в Github, это может быть здорово!

1 Ответ

0 голосов
/ 07 июня 2018

На самом деле, если вы генерируете сущности, используя JDL (язык домена Jhipster), вы не получите никакой опции для создания поля Transient, так как JDL - это механизм проектирования базы данных, а поля Transient не будут размещаться в БД.

Решение состоит в том, что после импорта JDL в наше приложение вы можете добавить Transient полей в свой класс сущности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...