Как использовать Autowire внутри @Entity в JPA? - PullRequest
1 голос
/ 24 марта 2020
@Entity
public class Invoice {

 InsuranceCompanyInvoiceCalculator insuranceCompanyInvoiceCalculator // how to autowire this?

 @JsonProperty(access = JsonProperty.Access.READ_ONLY)
    Float ordersTotal;

    Float getOrdersTotal() {
        insuranceCompanyInvoiceCalculator.getOrdersTotal(this)
    }
}

Я смотрел на другие вопросы, подобные этому Как использовать @Autowired в классе, помеченном @Entity? , но он не отвечает на вопрос вообще. Он предлагает создать класс @Service. Но все же, как мне автоматически связать класс @Service с классом @Entity?

EDIT

Я предполагаю, что большинство людей советуют построить Entity Объект должен быть сделан на уровне сервиса, где у вас будет доступ к @Autowire. Но не в этом случае.

Я использую Spring Data / Spring Data Rest, где ваша сущность автоматически извлекается и возвращается к вызову REST без записи какого-либо контроллера или службы.

В этом случае как получить доступ к @Autowire из @ Entity

1 Ответ

0 голосов
/ 24 марта 2020

Если вы хотите вычислить total на основе какого-либо вычисления по fields из Entity, вы можете использовать @ Формула , также вы можете посмотреть @ Документация по формуле гибернации, Например:

@Formula(value = "credit * rate")
private Double total;   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...