diff --git a/src/main/java/fr/eni/demo/bll/GameTypeService.java b/src/main/java/fr/eni/demo/bll/GameTypeService.java new file mode 100644 index 0000000..551ad50 --- /dev/null +++ b/src/main/java/fr/eni/demo/bll/GameTypeService.java @@ -0,0 +1,17 @@ +package fr.eni.demo.bll; + +import fr.eni.demo.bo.GameType; +import fr.eni.demo.dal.GameTypeRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class GameTypeService { + + @Autowired + private GameTypeRepository gameTypeRepository; + + public void add(GameType gameType) { + gameTypeRepository.save(gameType); + } +} diff --git a/src/main/java/fr/eni/demo/bo/GameType.java b/src/main/java/fr/eni/demo/bo/GameType.java new file mode 100644 index 0000000..2a348c8 --- /dev/null +++ b/src/main/java/fr/eni/demo/bo/GameType.java @@ -0,0 +1,24 @@ +package fr.eni.demo.bo; + +import jakarta.persistence.*; +import lombok.*; + +@AllArgsConstructor +@NoArgsConstructor +@Getter +@Setter +@ToString +@Builder + +@Entity +@Table(name="GAME_TYPE") +public class GameType { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "GAME_TYPE_ID") + private Integer id; + + @Column(name="GAME_TYPE_NAME", nullable = false) + private String name; +} diff --git a/src/main/java/fr/eni/demo/bo/Stock.java b/src/main/java/fr/eni/demo/bo/Stock.java index a6c33d0..75ebce7 100644 --- a/src/main/java/fr/eni/demo/bo/Stock.java +++ b/src/main/java/fr/eni/demo/bo/Stock.java @@ -4,6 +4,8 @@ package fr.eni.demo.bo; import jakarta.persistence.*; import lombok.*; +import java.util.List; + @AllArgsConstructor @NoArgsConstructor @Getter @@ -31,4 +33,8 @@ public class Stock { @Column(name="GAME_DAILY_PRICE", nullable = false) private Long dailyPrice; + + @OneToMany(cascade = CascadeType.ALL, fetch=FetchType.EAGER, orphanRemoval = true) + @JoinColumn(name="GAME_ID") + private List gameType; } diff --git a/src/main/java/fr/eni/demo/dal/GameTypeRepository.java b/src/main/java/fr/eni/demo/dal/GameTypeRepository.java new file mode 100644 index 0000000..40aba14 --- /dev/null +++ b/src/main/java/fr/eni/demo/dal/GameTypeRepository.java @@ -0,0 +1,9 @@ +package fr.eni.demo.dal; + +import fr.eni.demo.bo.GameType; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface GameTypeRepository extends JpaRepository { +} diff --git a/src/test/java/fr/eni/demo/DemoApplicationTests.java b/src/test/java/fr/eni/demo/DemoApplicationTests.java index 8956d23..512ccd3 100644 --- a/src/test/java/fr/eni/demo/DemoApplicationTests.java +++ b/src/test/java/fr/eni/demo/DemoApplicationTests.java @@ -1,8 +1,10 @@ package fr.eni.demo; import fr.eni.demo.bll.ClientService; +import fr.eni.demo.bll.GameTypeService; import fr.eni.demo.bll.LocationService; import fr.eni.demo.bo.Client; +import fr.eni.demo.bo.GameType; import fr.eni.demo.bo.Location; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -14,9 +16,10 @@ class DemoApplicationTests { @Autowired private ClientService clientService; - @Autowired private LocationService locationService; + @Autowired + private GameTypeService gameTypeService; @Test @DisplayName("-- Test add Client --") @@ -67,4 +70,13 @@ class DemoApplicationTests { System.out.println(location); } + @Test + @DisplayName("-- Test add Game Type --") + void testAddGameType() { + GameType gameType = new GameType(); + gameType.setName("RPG"); + gameTypeService.add(gameType); + System.out.println(gameType); + } + }