Size: a a a

2020 May 19

D𝔇

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶... in learn.java
Даниил Осипов
Это понятно, но причем тут это? Почему нельзя чтобы, сервис возвращал только сущности, а контроллер уже сам бы вызывал нужный маппер для нужной дто?
Если вы контролируете код всех контроллеров и все время будете помнить про детачнутые сущности и лейзи поля, то можно и сущность отдать. Но лучше так не делать
источник

D𝔇

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶... in learn.java
А если отдавать не детачнутые сущности, то это совсем плохо, т.к. в них могут засунуть каку
источник

ДО

Даниил Осипов... in learn.java
Я опять не врубаюсь. Причём тут персистентность сущности, когда я в неё ничего не записываю?
источник

Ю

Юрий in learn.java
Вы имеете в виду, что если в контроллере делать маппинг и допустим если в сущности есть лези поля, то произойдет ошибка, так как идет доступ вне транзакции?
источник

D𝔇

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶... in learn.java
Юрий
Вы имеете в виду, что если в контроллере делать маппинг и допустим если в сущности есть лези поля, то произойдет ошибка, так как идет доступ вне транзакции?
угу. Там дело не в транзакции, но суть такова
источник

М

Михаил in learn.java
@gibson1 Когда-то я меня мучал схожий вопрос. Рекомендую посмотреть на паттерн active record, и сравнить его с mvc. Тогда смысл DTO становиться понятен.
источник

ДО

Даниил Осипов... in learn.java
Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶
угу. Там дело не в транзакции, но суть такова
Понял. Но по идее, повесив на контроллер @transactional, ошибки удастся избежать? Делать я этого разумеется не буду
источник

P

Pan Kotek in learn.java
Даниил Осипов
Понял. Но по идее, повесив на контроллер @transactional, ошибки удастся избежать? Делать я этого разумеется не буду
Есть у спринг бута настройка spring.jpa.open-in-view, можно почитать тредик по этому поводу
https://github.com/spring-projects/spring-boot/issues/7107
источник

D𝔇

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶... in learn.java
источник

D𝔇

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶... in learn.java
сразу 2 ссылки вам для ознакомления :)
источник

ДО

Даниил Осипов... in learn.java
Ох, много букафф, ладно, пасибо, почитаем)
источник

D

Dima in learn.java
Даниил Осипов
Это понятно, но причем тут это? Почему нельзя чтобы, сервис возвращал только сущности, а контроллер уже сам бы вызывал нужный маппер для нужной дто?
тебе уже ответили
источник

D

Dima in learn.java
маппинг на лэзи полях сломается
источник

D

Dima in learn.java
а @Transactional на контроллере даст протечку транзакции в веб слой
источник

ДО

Даниил Осипов... in learn.java
Угу, я уже понял, спасибо
источник

D𝔇

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶... in learn.java
Даниил Осипов
Угу, я уже понял, спасибо
на самом деле у тебя правильные вопросы, на это регулярно натыкаются не только начинающие, но и довольно опытные
источник

Ю

Юрий in learn.java
Dima
а @Transactional на контроллере даст протечку транзакции в веб слой
а поподробнее можно
источник

D

Dima in learn.java
да вот
источник

D

Dima in learn.java
источник

D

Dima in learn.java
источник