반응형
ERD 확인
Book 클래스 수정
package com.example.bookmanager.domain;
import com.example.bookmanager.domain.listener.Auditable;
import com.example.bookmanager.domain.listener.MyEntityListener;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.persistence.*;
import java.time.LocalDateTime;
@Entity
@NoArgsConstructor
@Data
// 상속받은 BaseEntity를 사용하기 위해서 ToString, EqualsAndHashCode 재정의
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
// 해당 객체에 사용자가 정의한 Entity Listener가 수행되도록 선언해준다.
public class Book extends BaseEntity {
@Id
@GeneratedValue
private Long id;
private String name;
private String category;
private Long authorId;
private Long publisherId;
}
BookReviewInfo 클래스 작성
package com.example.bookmanager.domain;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
@NoArgsConstructor
@Data
// 상속받은 BaseEntity를 사용하기 위해서 ToString, EqualsAndHashCode 재정의
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class BookReviewInfo extends BaseEntity{
@Id
@GeneratedValue
private Long id;
private Long bookId;
private float averageReviewScore;
private int reviewCount;
}
BookReviewInfoRepository 인터페이스 작성 (Jpa 사용을 위해서)
package com.example.bookmanager.repository;
import com.example.bookmanager.domain.BookReviewInfo;
import org.springframework.data.jpa.repository.JpaRepository;
public interface BookReviewInfoRepository extends JpaRepository<BookReviewInfo, Long> {
}
Test 코드 작성
BookReviewInfoRepositoryTest
package com.example.bookmanager.repository;
import com.example.bookmanager.domain.BookReviewInfo;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import static org.junit.jupiter.api.Assertions.*;
@SpringBootTest
class BookReviewInfoRepositoryTest {
@Autowired
private BookReviewInfoRepository bookReviewInfoRepository;
@Test
void crudTest() {
BookReviewInfo bookReviewInfo = new BookReviewInfo();
bookReviewInfo.setBookId(1L);
bookReviewInfo.setAverageReviewScore(4.5f);
bookReviewInfo.setReviewCount(2);
bookReviewInfoRepository.save(bookReviewInfo);
System.out.println(">>> " + bookReviewInfoRepository.findAll());
}
}
확인
반응형
'Spring > JPA' 카테고리의 다른 글
1대N 연관관계 (0) | 2021.08.06 |
---|---|
1 대 1 관계 설정하는 방법 (0) | 2021.07.24 |
연관관계, ERD (0) | 2021.07.24 |
Entity Listener 사용 예제 2 (0) | 2021.07.18 |
Entity Listener (0) | 2021.07.18 |