Прочитал достаточно много информации про JDBC и ORM, теперь хотел бы проверить свое понимание работы с БД в Java и задать пару вопросов касательно JDBC, JPA, ORM (Hibernate).
Как я понял что JDBC, что ORM делают одно и тоже разница лишь сложности и оптимизации для разных проектов, то есть иногда выгодно использовать JDBC, а иногда ORM.
Подскажите пожалуйста правильно ли я рассуждаю?
Нет неправильно рассуждаете.
JDBC это базис - ORM это надстройка над JDBC.
JDBC это гвозди которыми можно сколотить скажем табуретку, а ORM это автоматический пистолет, которым забивают гвозди.
Программист, который пишет на JDBC похож на трудягу который забивает гвозди ручным молотком, медленно и упорно. Если вы используете ORM, то уже похожи на квалифицированного рабочего который забивает гвозди пневмопистолетом: быстро и надежно.
JDBC - это средство работы с БД из java. Hibernate (и jpa) - предназначен для отделения работы в java от работы в БД. При этом, программист работает в java, реализует бизнес-правила, а вопросы синхронизации с БД поручает Hibernate. Программист пишет на java, используя возвышенные абстракции ООП (в частности наследование), а hibernate, в соответствии с настройками и мапингом (который тоже может создать Hibernate) производит синхронизацию и подтягивание объектов по требованию. Предполагается, что программист не пишет запросов на select, insert, delete, update (хотя такая возможность и предусмотрена) и SpringData еще больше усиливает эту возможность. Например, программист в java запрашивает через hibernate объект по классу объекта и его id, изменяет поля этого объекта и после этого, запрашивает у hibernate синхронизацию этого объекта с БД. Hibernate сам понимает как написать select и как написать update. Hibernate - это реляционное хранение (объектов java) под идеоматику java.
Напишите пару тестовых проектов на Spring Data JDBC и на Spring Data JPA - почувствуете разницу. По работе могут встретиться разные решения, требующие поддержки, но знать надо и то, и то.
Spring Data JDBC
- сам управляешь обращениями к БД. Требуется знание SQL
.
Spring Data JPA
- упрощает обращения к БД средствами Java. Знание SQL
не требуется, но может пригодиться.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
я только начал изучать Java и среду разработки Android studioЭто мой первый вопрос, так что не судите строго
По идее все просто если файл yaml называется applicationyaml тогда обьект (POJO) со следующими аннотациями
Интересует возможность развёртывания Сокет-сервера java на apache-tomcat