tufangorel / spring-boot-hibernate-bidirectional-many-to-many-join-table-relationship-mapping

spring-boot-hibernate-bidirectional-many-to-many-join-table-relationship-mapping

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

spring-boot-hibernate-bidirectional-many-to-many-join-table-relationship-mapping

1- Implement hibernate bidirectional many-to-many join-table relational mapping
2- ER diagram :
NOT : Many Product related to many Store

many_to_many_er_diagram

3- Start Spring Boot application with a specific profile such as "-Dspring.profiles.active=dev" .
4- swagger-ui can be accessed from URL : http://localhost:8080/customer-info/swagger-ui/

swagger_ui

Tech Stack

Java 11
H2 Database Engine
spring boot
spring data jpa
spring web
hibernate
logback
maven
junit
springfox-swagger-ui
datasource-proxy

API OPERATIONS

Save store with products sucessfully to database

Method : HTTP.POST
URL : http://localhost:8080/customer-info/store/save

Request :

curl --location --request POST 'http://localhost:8080/customer-info/store/save' \
--header 'Content-Type: application/json' \
--data-raw '{
  "name": "jeans_store",
  "products": [
    {
      "name": "prod1"
    },
    {
      "name": "prod2"
    },
    {
      "name": "prod3"
    }
  ]
}'

Response :

HTTP response code 200

{
    "id": 1,
    "name": "jeans_store",
    "products": [
        {
            "id": 1,
            "name": "prod3"
        },
        {
            "id": 2,
            "name": "prod1"
        },
        {
            "id": 3,
            "name": "prod2"
        }
    ]
}

List Store saved to database

Method : HTTP.GET
URL : http://localhost:8080/customer-info/store/list

Request :

curl --location --request GET 'http://localhost:8080/customer-info/store/list'

Response :

HTTP response code 200

[
    {
        "id": 1,
        "name": "jeans_store",
        "products": [
            {
                "id": 1,
                "name": "prod3"
            },
            {
                "id": 2,
                "name": "prod1"
            },
            {
                "id": 3,
                "name": "prod2"
            }
        ]
    }
]

About

spring-boot-hibernate-bidirectional-many-to-many-join-table-relationship-mapping


Languages

Language:Java 100.0%