From 8a23075ac6ce1d8d0bc01348bf40e5ffc86a8f5c Mon Sep 17 00:00:00 2001 From: Programmist73 Date: Sun, 9 Apr 2023 13:41:37 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=BC=D0=B5=D0=B6=D1=83?= =?UTF-8?q?=D1=82=D0=BE=D1=87=D0=BD=D0=BE=D0=B5=20=D1=81=D0=BE=D1=85=D1=80?= =?UTF-8?q?=D0=B0=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5.=20=D0=9D=D0=B0=D0=B4?= =?UTF-8?q?=D0=B5=D1=8E=D1=81=D1=8C,=20=D1=87=D1=82=D0=BE=20=D0=B1=D1=83?= =?UTF-8?q?=D0=B4=D0=B5=D1=82=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D1=82?= =?UTF-8?q?=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/premium_store/model/GameClient.java | 5 +++-- .../main/java/premium_store/model/Nation.java | 16 ++++++++++++++-- .../src/main/java/premium_store/model/Tank.java | 8 ++++---- .../java/premium_store/model/TankLevel.java | 17 ++++++++++++++--- .../src/main/resources/application.properties | 2 +- 5 files changed, 36 insertions(+), 12 deletions(-) diff --git a/spring_online_calculator/src/main/java/premium_store/model/GameClient.java b/spring_online_calculator/src/main/java/premium_store/model/GameClient.java index c2c686f..12c7246 100644 --- a/spring_online_calculator/src/main/java/premium_store/model/GameClient.java +++ b/spring_online_calculator/src/main/java/premium_store/model/GameClient.java @@ -12,12 +12,13 @@ public class GameClient { @GeneratedValue(strategy = GenerationType.AUTO) private Long id; - @Column(nullable = false, length = 255) + @Column(name = "nickName", nullable = false, length = 255) private String nickName; - @Column(nullable = false, length = 255) + @Column(name = "email", nullable = false, length = 255) private String email; + @Column(name = "balance") private Integer balance; @ManyToMany(mappedBy = "gameClients", fetch= FetchType.EAGER) diff --git a/spring_online_calculator/src/main/java/premium_store/model/Nation.java b/spring_online_calculator/src/main/java/premium_store/model/Nation.java index ee58588..c02d5a5 100644 --- a/spring_online_calculator/src/main/java/premium_store/model/Nation.java +++ b/spring_online_calculator/src/main/java/premium_store/model/Nation.java @@ -1,8 +1,7 @@ package premium_store.model; import javax.persistence.*; -import java.util.Objects; -import java.util.Set; +import java.util.*; @Entity @Table(name = "NATIONS") @@ -11,8 +10,12 @@ public class Nation { @GeneratedValue(strategy = GenerationType.AUTO) private Long id; + @Column(name = "nation") private String nation; + @OneToMany(mappedBy ="nation", cascade = CascadeType.MERGE,fetch = FetchType.EAGER) + private List tanks = new ArrayList<>(); + public Nation() { } @@ -34,6 +37,15 @@ public class Nation { this.nation = nation; } + public List getTanks(){ + return tanks; + } + + public void addNewTank(Tank tank) { + tanks.add(tank); + tank.setNation(this); + } + //метод для сравнения @Override public boolean equals(Object o) { diff --git a/spring_online_calculator/src/main/java/premium_store/model/Tank.java b/spring_online_calculator/src/main/java/premium_store/model/Tank.java index 7163fe2..17024b8 100644 --- a/spring_online_calculator/src/main/java/premium_store/model/Tank.java +++ b/spring_online_calculator/src/main/java/premium_store/model/Tank.java @@ -13,16 +13,16 @@ public class Tank { @GeneratedValue(strategy = GenerationType.AUTO) private Long id; + @Column(name = "name") private String name; - @ManyToOne - @JoinColumn(name = "nation") + @ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.MERGE) private Nation nation; - @ManyToOne - @JoinColumn(name = "tankLevel") + @ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.MERGE) private TankLevel tankLevel; + @Column(name = "cost") private int cost; //реализация двунаправленной связи многие-ко-многим diff --git a/spring_online_calculator/src/main/java/premium_store/model/TankLevel.java b/spring_online_calculator/src/main/java/premium_store/model/TankLevel.java index 20266e7..0262065 100644 --- a/spring_online_calculator/src/main/java/premium_store/model/TankLevel.java +++ b/spring_online_calculator/src/main/java/premium_store/model/TankLevel.java @@ -1,8 +1,7 @@ package premium_store.model; import javax.persistence.*; -import java.util.Objects; -import java.util.Set; +import java.util.*; @Entity @Table(name = "TANKLEVELS") @@ -11,9 +10,12 @@ public class TankLevel { @GeneratedValue(strategy = GenerationType.AUTO) private Long id; - @Column(nullable = false) + @Column(name = "level", nullable = false) private int level; + @OneToMany(mappedBy = "tankLevel", cascade = CascadeType.MERGE, fetch = FetchType.EAGER) + private List tanksOfThisLevel = new ArrayList<>(); + public TankLevel() { } @@ -35,6 +37,15 @@ public class TankLevel { this.level = level; } + public List getTanks(){ + return tanksOfThisLevel; + } + + public void addNewTank(Tank tank) { + tanksOfThisLevel.add(tank); + tank.setLevel(this); + } + //метод для сравнения @Override public boolean equals(Object o) { diff --git a/spring_online_calculator/src/main/resources/application.properties b/spring_online_calculator/src/main/resources/application.properties index 14d2c47..e06079d 100644 --- a/spring_online_calculator/src/main/resources/application.properties +++ b/spring_online_calculator/src/main/resources/application.properties @@ -8,4 +8,4 @@ spring.jpa.database-platform=org.hibernate.dialect.H2Dialect spring.jpa.hibernate.ddl-auto=update spring.h2.console.enabled=true spring.h2.console.settings.trace=false -spring.h2.console.settings.web-allow-others=false \ No newline at end of file +spring.h2.console.settings.web-allow-others=false