[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-spring-chto-takoe-spring-data-jpa":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":15,"progress":16,"seo":17},631,"chto-takoe-spring-data-jpa",14,"spring","Spring","🌱","Что такое Spring Data JPA?","Spring Data JPA -- часть проекта Spring Data, которая значительно упрощает работу с JPA, устраняя необходимость в шаблонном коде для стандартных операций с базой данных.\n\n> Аналогия из жизни: Spring Data JPA -- как калькулятор для бухгалтера. Вместо того чтобы вручную складывать столбцы цифр, вы нажимаете кнопки и получаете результат.\n\n### Без Spring Data JPA\n\n```java\n@Repository\npublic class UserRepositoryImpl {\n    @PersistenceContext\n    private EntityManager em;\n\n    public User findById(Long id) { return em.find(User.class, id); }\n    public List\u003CUser> findAll() {\n        return em.createQuery(\"SELECT u FROM User u\", User.class).getResultList();\n    }\n    \u002F\u002F ... ещё save(), delete() и т.д.\n}\n```\n\n### С Spring Data JPA\n\n```java\n\u002F\u002F Всё! Spring Data сгенерирует реализацию автоматически\npublic interface UserRepository extends JpaRepository\u003CUser, Long> {\n}\n```\n\n### Основные возможности\n\n- Автоматическая реализация репозиториев\n- Query methods -- генерация запросов по имени метода\n- Пагинация и сортировка из коробки\n- `@Query` для пользовательских запросов (JPQL и native SQL)\n- Auditing -- автоматическое заполнение дат создания\u002Fобновления\n- Specifications -- динамическое построение запросов\n\n> **На собеседовании:** покажите, что понимаете, как Spring Data JPA экономит время (автогенерация реализаций, query methods). Частая ошибка -- не знать, что за интерфейсом стоит автоматически сгенерированная реализация.","","junior",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":20,"keywords":21,"schemaAnswer":22,"featuredSnippetReady":23},"Что такое Spring Data JPA? — Gymterview","Spring Data JPA -- часть проекта Spring Data, которая значительно упрощает работу с JPA, устраняя необходимость в шаблонном коде для стандартных операций с базо","Spring Data JPA -- часть проекта Spring Data, которая значительно упрощает работу с JPA, устраняя необходимость в шаблон",[7,13],"Spring Data JPA -- часть проекта Spring Data, которая значительно упрощает работу с JPA, устраняя необходимость в шаблонном коде для стандартных операций с базой данных.",true]