JPA (Java Persistence API)
@Table, @UniqueConstraint
have a good time
2021. 11. 15. 21:26
jpa 에서 두 개 이상의 칼럼을 unique 걸 때 사용
<Likes.java>파일
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
@Entity
@Table(
uniqueConstraints = {
@UniqueConstraint(
name="likes_uk",
columnNames = {"imageId", "userId"}
)
}
)
public class Likes {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@JoinColumn(name = "imageId")
@ManyToOne
private Image image;
@JoinColumn(name = "userId")
@ManyToOne
private User user;
private LocalDateTime createDate;
@PrePersist
public void createDate() {
this.createDate = LocalDateTime.now();
}
}
db 결과 : imageId, userId 칼럼이 unique 설정됨
참고 자료 : https://gs.saro.me/dev?page=4&tn=499
JPA 컬럼 두개이상 UNIQUE 설정하기 - 가리사니
JPA에서 Entity 클래스에서 Unique 설정하려면 ``` java @Column(name="column" , unique=true) int column; ``` 하면 해결이 되지만 이 방법으로는 두개 이상의 컬럼을 unique 걸 수가 없다. 따라서 @Table에 uniqueConstraints
gs.saro.me
이지업 강의 사이트 "스프링부트 SNS 프로젝트 - 포토그램 만들기"