Промежуточное сохранение. Надеюсь, что будет работать

This commit is contained in:
Programmist73 2023-04-09 13:41:37 +04:00
parent 43cc05427d
commit 8a23075ac6
5 changed files with 36 additions and 12 deletions

View File

@ -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)

View File

@ -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<Tank> tanks = new ArrayList<>();
public Nation() {
}
@ -34,6 +37,15 @@ public class Nation {
this.nation = nation;
}
public List<Tank> getTanks(){
return tanks;
}
public void addNewTank(Tank tank) {
tanks.add(tank);
tank.setNation(this);
}
//метод для сравнения
@Override
public boolean equals(Object o) {

View File

@ -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;
//реализация двунаправленной связи многие-ко-многим

View File

@ -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<Tank> tanksOfThisLevel = new ArrayList<>();
public TankLevel() {
}
@ -35,6 +37,15 @@ public class TankLevel {
this.level = level;
}
public List<Tank> getTanks(){
return tanksOfThisLevel;
}
public void addNewTank(Tank tank) {
tanksOfThisLevel.add(tank);
tank.setLevel(this);
}
//метод для сравнения
@Override
public boolean equals(Object o) {

View File

@ -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
spring.h2.console.settings.web-allow-others=false