2차 이슈 정리

1. Board 엔티티 설계

디렉토리 구조

├─entity
│  │  BaseEntity.java
│  │
│  ├─name
│  │  ├─boardName
│  │  │  │  BoardName.java
│  │  │  │
│  │  │  └─repository
│  │  │          BoardNameRepository.java
│  │  │
│  │  └─userName
│  │      │  UserName.java
│  │      │
│  │      └─repository
│  │              UserNameRepository.java
│  │              UserNameRepositoryExtension.java
│  │              UserNameRepositoryImpl.java

1. Board Entity

@Getter
@Entity
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class BoardMinj extends BaseEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "board_id", nullable = false)
    private Long id;

    @Column(name = "board_title", nullable = false)
    private String boardTitle;

    @Column(name = "board_content", nullable = false)
    private String boardContent;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "user_id", nullable = false)
    private UserMinj userMinj;
}

@NoArgsConstructor(access = AccessLevel.PROTECTED)

@ManyToOne(fetch = FetchType.LAZY)

1-2. JPA Auditing - BaseEntity

생성 날짜, 수정 날짜 컬럼을 자동화하기 위해 BaseEntity를 생성한 후 Board entity에 상속받았다.