Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
А каким образом тогда обеспечивается «типобезопасность»?
Данные отображаются в объекты, поэтому до них не так далеко. И как правило, поле в объекте — это поле в базе.
Это есть в JPA Criteria API
from c in SomeCollection
where c.SomeProperty < someValue * 2
select new {c.SomeProperty, c.OtherProperty};
someCollection
.Where(c => c.SomeProperty < someValue * 2)
.Select(c => new { c.SomeProperty, c.OtherProperty });
простое переименование колонки может обернуться головной больюВерно. Как эта проблема решается в больших серьезных проектах? За запросы отвечают специиально обученные DB-разработчики, для которых родной язык — SQL. Как им работать с таким представлением? В статье приведены довольно примитивные примеры, а в реальных проектах запросы на 20+ строк и 5+ таблиц — обычное дело.
Jooq — «LINQ» для Java, типобезопасный построитель SQL запросов в Java коде