https://github.com/skyrocketstan/learning_netology_hibernate
Домашнее задание к занятию 8.4: ORM, Hibernate, 8.5: Spring Data JPA
https://github.com/skyrocketstan/learning_netology_hibernate
hibernate hibernate-orm homework javalearning netology spring spring-learning
Last synced: about 2 months ago
JSON representation
Домашнее задание к занятию 8.4: ORM, Hibernate, 8.5: Spring Data JPA
- Host: GitHub
- URL: https://github.com/skyrocketstan/learning_netology_hibernate
- Owner: SkyrocketStan
- License: mit
- Created: 2022-12-22T17:22:38.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-12-28T15:17:28.000Z (over 3 years ago)
- Last Synced: 2025-03-28T09:15:35.871Z (about 1 year ago)
- Topics: hibernate, hibernate-orm, homework, javalearning, netology, spring, spring-learning
- Language: Java
- Homepage:
- Size: 12.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Домашнее задание к занятию 8.4: ORM, Hibernate
## Задача DAO слой c Hibernate
### Описание
Попрактикуемся в работе с Hibernate через Spring, попутно закрепляя уже пройденные темы. Вам надо написать приложение для работы с БД, используя средства Spring по конфигурации и работе с Hibernate, адаптировав таблицы из задания [Таблица пользователей](https://github.com/ProsperousRF/Learning_Netology_sql-basic)
1. Создайте spring boot приложение, с зависимостями на два starter'а - `spring-boot-starter-data-jpa` и `spring-boot-starter-web`
2. Создайте Entity, которая соответствует таблице из условий задачи [Таблица пользователей](https://github.com/ProsperousRF/Learning_Netology_sql-basic).
3. Напишите репозиторий для работы с БД. Для этого:
- создайте класс и пометьте его аннотацией Repository, либо создайте бин репозитория в Java config классе
- правильно инжектируйте EntityManager
- создайте метод `getPersonsByCity(String city)`, который будет принимать название города и возвращать ваше Entity из базы данных, которые соответствуют этому `city`. Сделать это можно, например, получив всех пользователей и отфильтровав их по городу.
4. Напишите контроллер, с методом-обработчиком GET-метода запроса с маппингом на endpoint `/persons/by-city`. В query params запроса будет приходить строковый параметр `city`, который вам надо будет передавать дальше в репозиторий. То есть, ваш метод должен уметь обрабатывать запрос вида `localhost:8080/persons/by-city?city=Moscow`.
Контроллер должен будет возвращать всех людей, который он получит от репозитория.
5. Написанные код выложите в отдельный репозиторий на гитхабе и прикрепите ссылку на него в домашнем задании.