|
Модераторы: LSD, AntonSaburov |
|
sergioK1 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 416 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
Всем привет, лет 6 не работал с этим , счас смотрю есть Tuple,
мне надо сделать запрос и результат поместить в свой обьект не связянный с базой как тут https://www.sql2o.org/, делать как раньше view и результат мапить не очень хочеться. |
|||
|
||||
LSD |
|
|||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15708 Регистрация: 24.3.2004 Репутация: 5 Всего: 537 |
Если у тебя Спринг, то можно просто интерфейс определить и @Query в репозитории. И Спринг сделает за тебя магию и вернет интерфейс.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
sergioK1 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 416 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
Главная проблема спринга это то что возвращаемый обьект должен быть Entity, поэтому сложный join где поля из разных таблиц, им не сделаешь, как и динамический, персистент уровень это overhead . |
|||
|
||||
LSD |
|
|||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15708 Регистрация: 24.3.2004 Репутация: 5 Всего: 537 |
Нет не должен. Вот пример. В nativeQuery можно любой запрос писать, хоть джойны, хоть групбаи, главное чтобы имена столбцов совпадали с именами геттеров. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Старовъръ |
|
||||
Опытный Профиль Группа: Участник Сообщений: 491 Регистрация: 8.5.2008 Репутация: 1 Всего: 10 |
Hibernate так же легко работает с не-Entity. Можно хоть нативные запросы, хоть через select new если эта таблица уже замаплена на какой-то Entity:
Это сообщение отредактировал(а) Старовъръ - 16.9.2021, 19:56 -------------------- |
||||
|
|||||
sergioK1 |
|
||||||
Опытный Профиль Группа: Участник Сообщений: 416 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
Я так и делаю , получаю ResultSet и маплю его как мне надо, в варианте session.createQuery("select new blah.SomeClass(e.id, e.name) from SomeEntity e"); таблица должна быть замаплена , в случае с Join мне надо сначала делать view а потом мапить на него свой обьект , зчем такие сложности ? ORM это дурацкая идея , придуманная 20лет назад для защиты от ошибок при написание собсвенных баз данных, счас такие давно никто пишет, потому и добавили JdbcTemplate в Big Data вообще никаких ORM . Сначала берем данные из источника , потом думаем как его положить в обьект , и надо ли оно вообще. А то особо умные архитекторы сначала получают Entity а потом переписывают в DTO, абсолютно лишнее. Добавлено через 2 минуты и 36 секунд
если у тебя 15 плей то будешь все 15 передавать в конструкторе ? |
||||||
|
|||||||
LSD |
|
|||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15708 Регистрация: 24.3.2004 Репутация: 5 Всего: 537 |
Для native queries нужен только интерфейс, имплементацию спринг сделает. Для JPQL да нужно 15 полей, но есть же ломбок, есть рекорды, на худой конец идея умеет генерить весь бойлерплейт код. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
sergioK1 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 416 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
Да зачем мне делать двойную работу? В дебагере ты свой native queries не поменяешь , и будешь перезапускать аппликацию, никакого бойлерплейт кода, что нужно генерить и зачем ? Написал чвери в тоде или еще где , в код перенес ( можно и в файл ) а repository не знает с какой базой работать, Потому что кривыми руками сделан |
|||
|
||||
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |