Size: a a a

2019 May 22

ТС

Таир Сабыргалиев in Astana JKUG
Потому что там ньюансов много
источник

ТС

Таир Сабыргалиев in Astana JKUG
В транзакции/вне транзакции, сессия экстендед или нет? Это все нужно знать, чтобы ответить
источник

ТС

Таир Сабыргалиев in Astana JKUG
JPA это к сожалению, не piece of cake
источник

R

Roxana in Astana JKUG
Я решила свою задачу так решить, потому что с запросом в jpql так и не смогла
источник

ТС

Таир Сабыргалиев in Astana JKUG
СпрингДата ЖПА это все абстрагирует насколько возможно, но там свои ньюансы
источник

ТС

Таир Сабыргалиев in Astana JKUG
Если JPA не принципиально, то лучше советую Spring JDBCTemplate или JOOQ
источник

ТС

Таир Сабыргалиев in Astana JKUG
Я бы сказал так: JPA это куча протекающих абстракций, без знания которых невозможно нормально его юзать
источник

R

Roxana in Astana JKUG
Ясненько
источник

M

Maksat in Astana JKUG
если есть базовый абстрактный класс Animal, с абстрактным методом run(), и два дочерних класса Tiger и Fish, которые реализауют метод run() каждый по-своему, то есть метод-геттер publlic Animal getAnimal() { if (type == 1) return new Tiger(); } else { return new Fish(); }
я пользуюсь геттером так: service.getAnimal().run() - и получаю полиморфную реализацию метода run()

а если я в этих Animal классах храню только данные, а логику выношу в service-классы TigerService и AnimalService, то как мне после вызова метода service.getAnimal() вызвать полиморфный метод run()? Ведь entity не знает о сервисе, который его логику реализует
источник

ТС

Таир Сабыргалиев in Astana JKUG
Maksat
если есть базовый абстрактный класс Animal, с абстрактным методом run(), и два дочерних класса Tiger и Fish, которые реализауют метод run() каждый по-своему, то есть метод-геттер publlic Animal getAnimal() { if (type == 1) return new Tiger(); } else { return new Fish(); }
я пользуюсь геттером так: service.getAnimal().run() - и получаю полиморфную реализацию метода run()

а если я в этих Animal классах храню только данные, а логику выношу в service-классы TigerService и AnimalService, то как мне после вызова метода service.getAnimal() вызвать полиморфный метод run()? Ведь entity не знает о сервисе, который его логику реализует
Это философский вопросы ))
источник

ТС

Таир Сабыргалиев in Astana JKUG
OOP не дает ответов на такие вопросы
источник

M

Maksat in Astana JKUG
дает, если не юзать service-слой, а и логику и поведение хранить в одном классе. Не понимаю почему в Java так не принятно
источник

M

Maksat in Astana JKUG
Таир Сабыргалиев
OOP не дает ответов на такие вопросы
значит, решения нет?
источник

ТС

Таир Сабыргалиев in Astana JKUG
Maksat
дает, если не юзать service-слой, а и логику и поведение хранить в одном классе. Не понимаю почему в Java так не принятно
Ну ок ))
источник

ТС

Таир Сабыргалиев in Astana JKUG
Просто, мне интересно, как можно смоделировать .run() в отрыве от контекста, типа  «поверхность по которой бежать, сила гравитации, ветра и фаза луны» и прочее прочее
источник

ТС

Таир Сабыргалиев in Astana JKUG
И тогда возникает вопрос: а что такое «бежать»? Какие сайд-эффекты имеет этот метод? Меняются координаты объекта? А позиция это свойство объекта или связь объекта с поверхностью?
источник

ТС

Таир Сабыргалиев in Astana JKUG
И тд. и тп.
источник

ТС

Таир Сабыргалиев in Astana JKUG
А если это был пример, то в ООП уже так не принято рассуждать, потому что неизвестны domain boundaries
источник

ТС

Таир Сабыргалиев in Astana JKUG
В вашем примере также непонятно, что такое “TigerService”
источник

ЕУ

Елнар Уважанов in Astana JKUG
источник