Skip to content

PL-comment-crud: 프로젝트 의뢰 코멘트 CRUD API 구현 #33

@Hexeong

Description

@Hexeong

프로젝트 의뢰 코멘트 CRUD API 구현

상위 릴리스

BR-002-A: Data CRUD

하위 이슈

[DS-entity-comment] 테이블과 Java 객체 매핑을 하기 위한 Entity를 구현한다.

Note

ORM은 JPA를 사용할 예정

[DS-dto-comment] Comment Regist, Update data를 묶어서 보내기 위한 DTO를 구현한다.

Note

Data RegistRequestDTO와 UpdateRequestDTO만 생성할 예정

[DS-repository-comment] JPA를 사용해서 Repository 구현

Note

JpaRepository를 상속받아 인터페이스로 구현

[DS-service-comment] Comment Domain Service 구현

Note

Transaction 단위로 작업 단위 구분, @transactional을 사용해 적절히 구분할 예정

[DS-controller-comment] Comment Domain CRUD API 구현

Note

조회 API는 단일 조회, 전체 조회, paging 조회 3개로 나눠 구현할 예정

[DS-test-comment-crud] Comment Domain에 대해 CRUD Test Code를 작성한다.

Note

JUnit5를 사용해서 테스트할 예정

TestData Insert Query

INSERT INTO COMMENT (CONTENT, ACCOUNT_ID, REQUEST_ID, CREATED_AT, MODIFIED_AT)
VALUES
    ('댓글 1-1', '계정1', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 1-2', '계정2', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 1-3', '계정1', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),

    ('댓글 2-1', '계정2', 2, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 2-2', '계정1', 2, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 2-3', '계정2', 2, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),

    ('댓글 3-1', '계정1', 3, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 3-2', '계정2', 3, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 3-3', '계정1', 3, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),

    ('댓글 4-1', '계정2', 4, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 4-2', '계정1', 4, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 4-3', '계정2', 4, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),

    ('댓글 5-1', '계정1', 5, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 5-2', '계정2', 5, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 5-3', '계정1', 5, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),

    ('댓글 6-1', '계정2', 6, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 6-2', '계정1', 6, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 6-3', '계정2', 6, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),

    ('댓글 7-1', '계정1', 7, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 7-2', '계정2', 7, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 7-3', '계정1', 7, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),

    ('댓글 8-1', '계정2', 8, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 8-2', '계정1', 8, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 8-3', '계정2', 8, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),

    ('댓글 9-1', '계정1', 9, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 9-2', '계정2', 9, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 9-3', '계정1', 9, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),

    ('댓글 10-1', '계정2', 10, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 10-2', '계정1', 10, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 10-3', '계정2', 10, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),

    ('댓글 11-1', '계정1', 11, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 11-2', '계정2', 11, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 11-3', '계정1', 11, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),

    ('댓글 12-1', '계정2', 12, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 12-2', '계정1', 12, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 12-3', '계정2', 12, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),

    ('댓글 13-1', '계정1', 13, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 13-2', '계정2', 13, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 13-3', '계정1', 13, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),

    ('댓글 14-1', '계정2', 14, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 14-2', '계정1', 14, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 14-3', '계정2', 14, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),

    ('댓글 15-1', '계정1', 15, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 15-2', '계정2', 15, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 15-3', '계정1', 15, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),

    ('댓글 16-1', '계정2', 16, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 16-2', '계정1', 16, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 16-3', '계정2', 16, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),

    ('댓글 17-1', '계정1', 17, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 17-2', '계정2', 17, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 17-3', '계정1', 17, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),

    ('댓글 18-1', '계정2', 18, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 18-2', '계정1', 18, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 18-3', '계정2', 18, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),

    ('댓글 19-1', '계정1', 19, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 19-2', '계정2', 19, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 19-3', '계정1', 19, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),

    ('댓글 20-1', '계정2', 20, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 20-2', '계정1', 20, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    ('댓글 20-3', '계정2', 20, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);

Metadata

Metadata

Assignees

Labels

✅ Test테스트 코드 변경입니다.✨Feature기능 개발 관련된 내용입니다.

Type

No type

Projects

Status

🎉 Done

Relationships

None yet

Development

No branches or pull requests

Issue actions