(ещё один глупый вопрос из серии how to serve requests в рамках программы вылезания из-под камня)
А как сейчас полагается работать с данными, в смысле чтения из базы?
Рисуют/генерируют классы по структуре данных, доменные классы для бизнес логики и так далее (DAO/DTO и проч.)?
Я глянул в примеры, лекуции по Spring Data - выглядит всё как в EJB начала века сего. Даже Entity Beans, которые вроде как предавали анафеме...
Я к тому - сейчас всё строят на Object/Relational mapping, или какие-то подвижки в сторону например нетипизированных DTO?
Мне кажется что у какой-то ORM много лет назад я видел маппинг в JSON объекты, то ли в map of maps of lists...
Data Access
-
- Уже с Приветом
- Posts: 602
- Joined: 13 Mar 2019 14:57
-
- Уже с Приветом
- Posts: 4195
- Joined: 27 Apr 2011 03:43
- Location: Сергели ->Chicago
Re: Data Access
если это обычный мапинг таблицы на класс то спринг дата умеет делать это из коробочки используя @Repository
хотя сам объект определить придется, а иначе откуда знать какой первичный ключ или ID
вот тут есть пример с кассандрой.
https://github.com/valchkou-app/spring- ... ory.groovy
с другими базами у спринга принцип тот же.
Сама же ентитя может отличаться в зависимости от базы данных, поэтому спринг дата поддерживает различные аннотации.
Если маппинг более сложный, то можно использовать in-line mapper.
или select можно вообзе вернуть как map и прокинуть его дальше на клиента.
map автоматически будет конвертирован в JSON
Если же это не спринг или не спринг дата, тогда нужна какая нибудь ORM.
Для RDBMS подойдет ibatis
у кассандры есть свой маппер от датастакса
у манги тоже свой.
в наши дни в json уже никто сам не трансформирует.
у спринга этим занимается @RestController автоматически. Под капотом jackson по дефолту
-
- Уже с Приветом
- Posts: 549
- Joined: 07 Jan 2016 13:04
Re: Data Access
Автор, смотря в каком контексе вам данные нужны и какие требования к реализации. Спринг Дата - вполне себе решения для "херак-херак и в продакшн". Если у вас нет никакой экзотики, например, чтоб решение работало на нескольких схемах, то можно брать и не рефлексироваать. По сути - это просто JPA вид сбоку. Если у вас приступы паранои управляемы, то можете смотреть абстракции, которые например Амазон под свои базы готовит. Если например АВС для вас целевая платформа, то тоже вполне себе вариант супового набора. Если вам сильно в перформанс надо, то в любом случае вы придете к JDBC и логике на стороне базы.
Вот что угодно, но только не этот треш!!!
-
- Уже с Приветом
- Posts: 2603
- Joined: 19 Jun 2003 20:22
- Location: USA
Re: Data Access
Hibernate почему-то никто не упомянул.