Я использую Spring data JPA для сохранения данных в PostgreSQL. У меня есть сущность под названием «Game», в которой Id является первичным ключом, и это автоматически генерируемое значение, которое увеличивается на «1». У меня есть другой столбец 'game_code', который принимает только уникальные значения.
Когда я пытался сохранить сущность со значением игрового кода, который уже существует в таблице. это дает ошибку. что является правдой. Но значение идентификатора пропускается. Пожалуйста, найдите приведенный ниже пример.
@Entity
@Table(name = "game")
@Data
public class Game {
@Id
@SequenceGenerator(name = "GAME_SEQ", sequenceName = "GAME_SEQ", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "GAME_SEQ")
@Column(updatable = false, nullable = false)
private Integer id;
@Column(nullable = false)
private String gameName;
@Column(nullable = false , unique=true)
private String gameCode;
}
gameRepo.save(new Game("game_name_1","game_code_1")) --> it saves entity in DB with ID value as 1
gameRepo.save(new Game("game_name_2","game_code_2")) --> it saves entity in DB with ID value as 2
gameRepo.save(new Game("game_name_3","game_code_2")) --> save failed as 'game_code_2' already exists
gameRepo.save(new Game("game_name_3","game_code_3")) --> it saves entity in DB with ID value as 4 .
**Here I am expecting ID value should be 3 as previous one was not saved**.
Может кто-нибудь, пожалуйста, дайте мне знать, как преодолеть эту проблему.
Спасибо, Мадху.