1️⃣ PK·FK는 not null 설정 삭제

 

2️⃣ comment table 수정 ( 실수 )

  • comment table에 PK로 잘못지정되어있던 boardId를 PK 지정 취소함
  • 그러므로 복합기본키 필요없음 ⇒ 코드 수정함
@Column(name = "boardId")
private Long boardId;

 

 

3️⃣ 이미지 첨부 방법 변경

  • 수정 전 : BLOB 데이터 타입을 위해 @LOB 어노테이션을 사용했었다.
  • 수정 후 : URL과 확장자를 사용 하는 방법으로 수정
    • 서버에 이미지를 저장하고 ⇒ 저장한 경로를 데이터베이스에 저장한다.
    • 실제로 이미지를 가져올 때 데이터베이스에 있는 이미지 경로를 서버에서 찾아 이미지를 뿌려준다.
    • 그래서 데이터타입을 BLOB으로 할 필요가 없다.
    • 경로와 확장자 컬럼을 사용하고 데이터타입으로는 String을 사용한다.
   	 // 서버에 이미지를 저장하고 -> 저장한 경로를 데이터베이스에 저장.
	// 실제로 이미지를 가져올 때 데이터베이스에 있는 이미지 경로를 찾아서 서버에서 찾아 이미지를 뿌려줌
	@Column(name = "gallImg")   // 경로
	private String gallImg;
	
	@Column(name = "gallExtension")   // 확장자
	private String gallExtension;

 

 

 

4️⃣ 양방향 관계로 추가

GalleryEntity

// NoteEntity와 다대일 관계
@ManyToOne  
private NoteEntity note;

 

NoteEntity

// PuppyEntity와 다대일 관계
@ManyToOne 
private PuppyEntity puppy;

 

// GalleryEntity와 일대다 관계
@OneToMany(cascade = CascadeType.ALL)   //CascadeType.All => 부모가 받는 속성을 자식도 그대로 물려받음
private List<GalleryEntity> galleryEntityList;

 

 

StoreEntity

// PuppyEntity와 일대다 관계
@OneToMany(cascade = CascadeType.ALL)
private List<PuppyEntity> puppyEntityList;

 

PuppyEntity

    // NoteEntity와 일대다 관계
	@OneToMany  
	private List<NoteEntity> noteEntityList;
	
	// StoreEntity와 다대일 관계
	@ManyToOne   
	private StoreEntity store;
		
	// UserEntity와 다대일 관계
	@ManyToOne  
	private UserEntity user;

 

 

 

5️⃣ join 하는 테이블들 매핑해주기

UserEntity

	// CommentEntity 일대다 관계 추가
	 @OneToMany(cascade = CascadeType.ALL)   
	 @JoinColumn(name = "userId")   // 외래키 지정
	 private List<CommentEntity> commentEntityList;
	 
	 // BoardEntity 일대다 관계 추가
	 @OneToMany(cascade = CascadeType.ALL)
	 @JoinColumn(name = "userId")
	 private List<BoardEntity> boardEntityList;
	 
	 // LikeListEntity 일대다 관계 추가
	 @OneToMany(cascade = CascadeType.ALL)
	 @JoinColumn(name = "userId")
	 private List<LikeListEntity> likeListEntityList;

 

CommentEntity

// UserEntity와 다대일 관계
@ManyToOne
@JoinColumn(name = "userId", insertable = false, updatable = false)  // 작성하고 추가할수없다.
private UserEntity user;

 

BoardEntity

// UserEntity와 다대일 관계
@ManyToOne
@JoinColumn(name = "userId", insertable = false, updatable = false)
private UserEntity user;

 

LikeListEntity

// UserEntity와 다대일 관계
@ManyToOne
@JoinColumn(name = "userId", insertable = false, updatable = false)
private UserEntity user;

 

 

6️⃣ @Temporal(TemporalType.TIMESTAMP) 지원을 안한다는 오류가 나서 잠시 주석 처리  =>  알아보는 중!

'Project 댕린이집' 카테고리의 다른 글

ERD 설계  (0) 2023.12.23
Repository & Service 초기 작성  (0) 2023.12.22
Entity 작성  (1) 2023.12.19
Controller 기본 설정  (1) 2023.12.18
스프링부트 프로젝트 구조 / sts 파일 구조 오류 / ERD 설계  (0) 2023.12.14
xoo | 수진