Spring Boot

SpringBoot + MariaDB 4-2 구독기능만들기 모델 만들기

svdjcuwg4638 2023. 6. 9. 17:37

구독 정보가 담길 테이블을 만들어보자

Subscribe.java

@Builder 
@AllArgsConstructor
@NoArgsConstructor
@Data
@Entity 

// 두개를 복합적으로 유니크를 줄때
@Table(
		uniqueConstraints = {
			@UniqueConstraint(
				name = "subscribe_uk",
				columnNames= {"fromUserId","toUserId"}
			)
		}
)

public class Subscribe {

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY) 
	private int id;
	
	@JoinColumn(name="fromUserId") // from_user형식이 싫다면 
	@ManyToOne						// JoinColumn으로 내가원하는 이름으로 사용가능
	private User fromUser;
	
	@JoinColumn(name="toUserId")
	@ManyToOne
	private User toUser;
	
	private LocalDateTime createDate;
	
	@PrePersist 
	public void createDate() {
		this.createDate =  LocalDateTime.now();
	}
	
}

@Table를 사용하여 두개를 한개로 가정하여 묶음으로 유니크를 부여하였다

 

 

subscribe패키지에 데이터를 저장해줄 SubscribeRepository.java 인터페이스도 생성해주기

package com.cos.photogramstart.domain.subscribe;

import org.springframework.data.jpa.repository.JpaRepository;

public interface SubscribeRepository extends JpaRepository<Subscribe, Integer> {

}