diff --git a/pom.xml b/pom.xml
index 2df099c..34cc5f8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,6 +47,16 @@
org.springframework.boot
spring-boot-starter-actuator
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+ com.mysql
+ mysql-connector-j
+ runtime
+
+
diff --git a/src/main/java/dev/vidhya/productservice/models/BaseModel.java b/src/main/java/dev/vidhya/productservice/models/BaseModel.java
index 2604cf3..a4859df 100644
--- a/src/main/java/dev/vidhya/productservice/models/BaseModel.java
+++ b/src/main/java/dev/vidhya/productservice/models/BaseModel.java
@@ -1,10 +1,22 @@
package dev.vidhya.productservice.models;
+import jakarta.persistence.Column;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.MappedSuperclass;
import lombok.Getter;
import lombok.Setter;
+import org.hibernate.annotations.GenericGenerator;
+import java.util.UUID;
+
+@MappedSuperclass
@Getter
@Setter
public class BaseModel {
- private Long id;
+ @Id
+ @GeneratedValue(generator = "uuidgenerator")
+ @GenericGenerator(name = "uuidgenerator", strategy = "uuid2")
+ @Column(name = "id", columnDefinition = "binary(16)", nullable = false, updatable = false)
+ private UUID uuid;
}
diff --git a/src/main/java/dev/vidhya/productservice/models/Category.java b/src/main/java/dev/vidhya/productservice/models/Category.java
index fa14fa5..fe3b5ce 100644
--- a/src/main/java/dev/vidhya/productservice/models/Category.java
+++ b/src/main/java/dev/vidhya/productservice/models/Category.java
@@ -1,8 +1,9 @@
package dev.vidhya.productservice.models;
+import jakarta.persistence.Entity;
import lombok.Getter;
import lombok.Setter;
-
+@Entity
@Getter
@Setter
public class Category extends BaseModel {
diff --git a/src/main/java/dev/vidhya/productservice/models/Product.java b/src/main/java/dev/vidhya/productservice/models/Product.java
index ccf6c39..be07ef4 100644
--- a/src/main/java/dev/vidhya/productservice/models/Product.java
+++ b/src/main/java/dev/vidhya/productservice/models/Product.java
@@ -1,7 +1,10 @@
package dev.vidhya.productservice.models;
+import jakarta.persistence.Entity;
+import jakarta.persistence.ManyToOne;
import lombok.*;
+@Entity
@Getter
@Setter
/*@Data
@@ -12,6 +15,7 @@ public class Product extends BaseModel{
private String title;
private String description;
private String image;
+ @ManyToOne
private Category category;
private double price;
}
diff --git a/src/main/java/dev/vidhya/productservice/services/FakeStoreProductService.java b/src/main/java/dev/vidhya/productservice/services/FakeStoreProductService.java
index 85afc1c..cff0295 100644
--- a/src/main/java/dev/vidhya/productservice/services/FakeStoreProductService.java
+++ b/src/main/java/dev/vidhya/productservice/services/FakeStoreProductService.java
@@ -45,7 +45,7 @@ public GenericProductDto deleteProductById(Long id){
public GenericProductDto getGenericProductDto(FakeStoreProductDto fakeStoreProductDto){
GenericProductDto genericProductDto = new GenericProductDto();
- genericProductDto.setId(fakeStoreProductDto.getId());
+ genericProductDto.setUuid(fakeStoreProductDto.getUuid());
genericProductDto.setTitle(fakeStoreProductDto.getTitle());
genericProductDto.setDescription(fakeStoreProductDto.getDescription());
genericProductDto.setImage(fakeStoreProductDto.getImage());
diff --git a/src/main/java/dev/vidhya/productservice/thirdpartyclients/productservice/fakestore/FakeStoreProductDto.java b/src/main/java/dev/vidhya/productservice/thirdpartyclients/productservice/fakestore/FakeStoreProductDto.java
index 7147732..793dfad 100644
--- a/src/main/java/dev/vidhya/productservice/thirdpartyclients/productservice/fakestore/FakeStoreProductDto.java
+++ b/src/main/java/dev/vidhya/productservice/thirdpartyclients/productservice/fakestore/FakeStoreProductDto.java
@@ -3,10 +3,12 @@
import lombok.Getter;
import lombok.Setter;
+import java.util.UUID;
+
@Getter
@Setter
public class FakeStoreProductDto {
- private Long id;
+ private UUID uuid;
private String title;
private String description;
private String image;
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 5ec6fa1..f7ec68a 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -1,4 +1,11 @@
productService.type = FakeStoreProductService
fakestore.api.url = https://fakestoreapi.com
-fakestore.api.paths.product = /products
\ No newline at end of file
+fakestore.api.paths.product = /products
+
+
+spring.jpa.hibernate.ddl-auto=update
+spring.datasource.url=jdbc:mysql://localhost:3306/sep23productservice
+spring.datasource.username=sep23productservice
+spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
+spring.jpa.show-sql: true
\ No newline at end of file