Реалізувати Java-додаток з використанням Hibernate, який моделює просту систему купівлі продуктів у магазинах.
id— унікальний ідентифікаторname— назва продуктуprice— ціна- 🔗 Належить до однієї категорії
- 🔗 Продається у багатьох магазинах
id— унікальний ідентифікаторname— назва категорії- 🔗 Має багато продуктів
id— унікальний ідентифікаторname— назва магазинуlocation— місце розташування- 🔗 Продає багато продуктів
id— унікальний ідентифікаторname— ім’я покупцяemail— електронна пошта- 🔗 Може купувати багато продуктів
- Додаткова сутність, яка зберігає інформацію про покупку:
idcustomerproductpurchaseDate
Product→Category:ManyToOneCategory→Product:OneToManyProduct↔Store:ManyToManyCustomer↔Product:ManyToManyчерезPurchase
- Додати новий продукт до категорії
- Додати продукт у магазин
- Зареєструвати покупку продукту покупцем
- Отримати список продуктів певної категорії
- Знайти всі магазини, де доступний конкретний продукт
- Переглянути всі продукти, які купив певний покупець
- Зберігати дату купівлі
- Додати перевірку: чи є продукт у магазині перед покупкою
- Додати обмеження унікальності (наприклад,
emailдля покупця,nameдля магазину) - Додати фільтрацію та сортування: Список продуктів за ціною (від дешевих до дорогих і навпаки). Список покупок покупця за датою або загальною сумою.
- Java
- Spring Boot
- Hibernate (JPA)
- H2/PostgreSQL (на вибір)
- Maven
💡 Рекомендовано реалізувати через багаторівневу архітектуру:
model,repository,service,controller.