충분히 쌓여가는
Unique index or primary key violation 본문
고유 인덱스 또는 기본키 위반
Unique index or primary key violation
src > main > resources에서 data.sql이라는 더미 데이터가 생성되어 있기 때문에 발생한 문제
서버를 재시작할 때마다 더미 데이터를 생성
새로운 게시글을 작성할 때 id를 1번부터 넣게해서 에러가 발생함 => 즉, id가 중복되었기 때문에 발생한 문제
// data.sql
INSERT INTO article(id, title, content) VALUES(1, '가가가가', '1111');
INSERT INTO article(id, title, content) VALUES(2, '나나나나', '2222');
INSERT INTO article(id, title, content) VALUES(3, '다다다다', '3333');
// Article.java
package com.example.BoardProject.entity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Entity
@Getter
public class Article {
@Id
@GeneratedValue
private Long id;
@Column
private String title;
@Column
private String content;
}
해결방법
id 자동 생성 전략을 추가하면 데이터를 생성할 때마다 DB가 알아서 id에 1, 2, 3, 4 등 값을 넣어준다
@GeneratedValue(strategy = GenerationType.IDENTITY)
DB가 id를 자동 생성해주기 때문에 data.sql에 입력값으로 준 id 속성과 속성 값 1, 2, 3을 삭제한다
INSERT INTO article(title, content) VALUES('가가가가', '1111');
INSERT INTO article(title, content) VALUES('나나나나', '2222');
INSERT INTO article(title, content) VALUES('다다다다', '3333');