diff --git a/blogsession/src/main/java/com/jiyun/blogsession/BlogsessionApplication.java b/blogsession/src/main/java/com/jiyun/blogsession/BlogsessionApplication.java index fb68137..f559e57 100644 --- a/blogsession/src/main/java/com/jiyun/blogsession/BlogsessionApplication.java +++ b/blogsession/src/main/java/com/jiyun/blogsession/BlogsessionApplication.java @@ -2,7 +2,9 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.data.jpa.repository.config.EnableJpaAuditing; +@EnableJpaAuditing @SpringBootApplication public class BlogsessionApplication { diff --git a/blogsession/src/main/java/com/jiyun/blogsession/domain/account/controller/AccountController.java b/blogsession/src/main/java/com/jiyun/blogsession/domain/account/controller/AccountController.java index d6edc41..71654c9 100644 --- a/blogsession/src/main/java/com/jiyun/blogsession/domain/account/controller/AccountController.java +++ b/blogsession/src/main/java/com/jiyun/blogsession/domain/account/controller/AccountController.java @@ -38,7 +38,7 @@ public AccountResponseDto getAccount(@PathVariable Long accountId) } - @PatchMapping("/profile") + @PatchMapping("/profile/{accountId}") @ResponseStatus(value = HttpStatus.OK) public AccountResponseDto update(@PathVariable final Long accountId, @RequestBody @Valid final AccountUpdateRequestDto requestDto) { Long id = accountService.update(accountId,requestDto); @@ -46,20 +46,21 @@ public AccountResponseDto update(@PathVariable final Long accountId, @RequestBod return new AccountResponseDto(findAccount); } - @PatchMapping("/{accountId}/withdraw/") + @PatchMapping("/{accountId}") @ResponseStatus(value = HttpStatus.OK) - public void withdraw(@PathVariable long accountId) + public String withdraw(@PathVariable long accountId) { accountService.withdraw(accountId); - + return "성공적으로 탈퇴가 완료되었습니다"; } - @DeleteMapping("/{accountId}/withdraw/") + @DeleteMapping("/{accountId}") @ResponseStatus(value = HttpStatus.OK) - public void delete(@PathVariable long accountId) + public String delete(@PathVariable long accountId) { accountService.delete(accountId); + return "성공적으로 탈퇴가 완료되었습니다"; } diff --git a/blogsession/src/main/java/com/jiyun/blogsession/domain/account/domain/Account.java b/blogsession/src/main/java/com/jiyun/blogsession/domain/account/domain/Account.java index c7653d7..7e09f36 100644 --- a/blogsession/src/main/java/com/jiyun/blogsession/domain/account/domain/Account.java +++ b/blogsession/src/main/java/com/jiyun/blogsession/domain/account/domain/Account.java @@ -7,12 +7,12 @@ import javax.persistence.*; +import static com.jiyun.blogsession.domain.account.domain.AccountStatus.REGISTERED; import static com.jiyun.blogsession.domain.account.domain.AccountStatus.UNREGISTERED; @Entity//해당 클래스에 있는 내부변수에 모두 @Column을 내부적으로 포함 -> 옵셥없으면 생략 가능 @NoArgsConstructor(access = AccessLevel.PROTECTED) //기본 생성자의 접근 제어를 PROTECTED로 설정해놓게 되면 무분별한 객체 생성에 대해 한번 더 체크할 수 있는 수단 -@DynamicInsert//status 기본값 유지를 위해 @Getter public class Account extends BaseTimeEntity { @Id @@ -33,7 +33,6 @@ public class Account extends BaseTimeEntity { private String bio;//length 따로 지정하지 않으면 기본적으로 255이다. @Enumerated(EnumType.STRING) - @ColumnDefault("'REGISTERED'") private AccountStatus status; @Builder @@ -43,6 +42,7 @@ public Account(Long accountId, String email, String password, String nickname, S this.encodedPassword = password; this.nickname = nickname; this.bio = bio; + this.status = REGISTERED; } public void updateAccount(String bio, String nickname){ @@ -55,4 +55,4 @@ public void withdrawAccount(){ } -} +} \ No newline at end of file diff --git a/blogsession/src/main/java/com/jiyun/blogsession/domain/account/dto/AccountResponseDto.java b/blogsession/src/main/java/com/jiyun/blogsession/domain/account/dto/AccountResponseDto.java index 3ba8a47..f701fc2 100644 --- a/blogsession/src/main/java/com/jiyun/blogsession/domain/account/dto/AccountResponseDto.java +++ b/blogsession/src/main/java/com/jiyun/blogsession/domain/account/dto/AccountResponseDto.java @@ -15,7 +15,7 @@ public class AccountResponseDto { private String nickname; private String bio; - @Builder + public AccountResponseDto(Account account) { this.accountId = account.getAccountId(); this.email = account.getEmail(); diff --git a/blogsession/src/main/java/com/jiyun/blogsession/domain/account/service/AccountService.java b/blogsession/src/main/java/com/jiyun/blogsession/domain/account/service/AccountService.java index 0868c1c..3126f4b 100644 --- a/blogsession/src/main/java/com/jiyun/blogsession/domain/account/service/AccountService.java +++ b/blogsession/src/main/java/com/jiyun/blogsession/domain/account/service/AccountService.java @@ -8,7 +8,6 @@ import org.springframework.stereotype.Service; import javax.persistence.EntityNotFoundException; -import javax.security.auth.login.AccountNotFoundException; import javax.transaction.Transactional; @Service//서비스 레이어, 내부에서 자바 로직을 처리함 @@ -19,7 +18,7 @@ public class AccountService { public Long signUp(SignUpRequestDto requestDto){ if (isExistedEmail(requestDto.getEmail())){ - throw new IllegalArgumentException(); + throw new IllegalArgumentException("이미 존재하는 email입니다. " + requestDto.getEmail()); } Account account = accountRepository.save(requestDto.toEntity()); return account.getAccountId(); diff --git a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/controller/PostController.java b/blogsession/src/main/java/com/jiyun/blogsession/domain/board/controller/PostController.java deleted file mode 100644 index bce2c11..0000000 --- a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/controller/PostController.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.jiyun.blogsession.domain.board.controller; - - -import com.jiyun.blogsession.domain.board.domain.Post; -import com.jiyun.blogsession.domain.board.dto.PostListResponseDto; -import com.jiyun.blogsession.domain.board.dto.PostRequestDto; -import com.jiyun.blogsession.domain.board.dto.PostResponseDto; -import com.jiyun.blogsession.domain.board.service.PostService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import java.util.List; - -@Slf4j -@RestController -@RequestMapping("/posts") -@RequiredArgsConstructor -public class PostController { - private final PostService postService; - - @PostMapping - @ResponseStatus(value = HttpStatus.CREATED) - public PostResponseDto create(@RequestBody @Valid final PostRequestDto requestDto) { - Long id = postService.create(requestDto); - Post post = postService.findById(id); - return PostResponseDto.of(post); - } - - @GetMapping - @ResponseStatus(value = HttpStatus.OK)// 전체 조회 - public PostListResponseDto readBoardList() { - List postList = postService.findAllDesc(); - return PostListResponseDto.of(postList); - } - - @GetMapping("/{accountId}") - @ResponseStatus(value = HttpStatus.OK)// 글 1개 조회 - public PostResponseDto readBoard(@PathVariable Long postId) { - Post post = postService.findById(postId); - return PostResponseDto.of(post); - } - - @GetMapping("/{accountId}")//작성자 별 조회 - @ResponseStatus(value = HttpStatus.OK) - public PostListResponseDto readBoardList(@PathVariable Long accountId) { - List postList = postService.findByWriter(accountId); - return PostListResponseDto.of(postList); - } - - - - @PutMapping("/{postId}") - @ResponseStatus(value = HttpStatus.OK) - public PostResponseDto update(@PathVariable final Long postId, @RequestBody final PostRequestDto requestDto) { - postService.update(postId, requestDto); - Post post = postService.findById(postId); - -/* Integer likeCount = postLikeService.countPostLike(post); - boolean isLiked = postLikeService.isExistsByWriterAndPost(account, post); - - BoardResponseDto responseDto = BoardResponseDto.of(board); - - BoardresponseDto.setLike(likeCount, isLiked);*/ - - return PostResponseDto.of(post); - } - - - - @DeleteMapping("/{postId}") - @ResponseStatus(value = HttpStatus.OK) - public void delete(@PathVariable final Long boardId) { - postService.delete(boardId); - } - -} diff --git a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/domain/Comment.java b/blogsession/src/main/java/com/jiyun/blogsession/domain/board/domain/Comment.java deleted file mode 100644 index ad1a11d..0000000 --- a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/domain/Comment.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.jiyun.blogsession.domain.board.domain; - -import com.jiyun.blogsession.domain.account.domain.Account; -import com.jiyun.blogsession.domain.board.domain.Post; -import com.jiyun.blogsession.global.entity.BaseTimeEntity; -import lombok.AccessLevel; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import org.hibernate.annotations.DynamicInsert; - -import javax.persistence.*; - -@Entity//해당 클래스에 있는 내부변수에 모두 @Column을 내부적으로 포함 -> 옵셥없으면 생략 가능 -@NoArgsConstructor(access = AccessLevel.PROTECTED) //기본 생성자의 접근 제어를 PROTECTED로 설정해놓게 되면 무분별한 객체 생성에 대해 한번 더 체크할 수 있는 수단 -@DynamicInsert//status 기본값 유지를 위해 -@Getter -public class Comment extends BaseTimeEntity { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "comment_id") - private Long id; - - @Column(length = 1000) - private String content; - - @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "account_id", updatable = false) - private Account writer; - - @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "post_id", updatable = false) - private Post post; - - - // 연관관계 편의 메소드 - protected void setPost(Post post) { - this.post = post; - } - - @Builder - public Comment(String content, Account writer, Post post) { - this.content = content; - this.writer = writer; - this.post = post; - } - - public void updateComment(String content) { - this.content = content; - } - - - // 연관관계 편의 메소드 - -} diff --git a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/domain/Post.java b/blogsession/src/main/java/com/jiyun/blogsession/domain/board/domain/Post.java deleted file mode 100644 index 904052a..0000000 --- a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/domain/Post.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.jiyun.blogsession.domain.board.domain; - -import com.jiyun.blogsession.domain.account.domain.Account; -import com.jiyun.blogsession.global.entity.BaseTimeEntity; -import lombok.AccessLevel; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import org.hibernate.annotations.DynamicInsert; - -import javax.persistence.*; -import java.util.ArrayList; -import java.util.List; - -@Entity//해당 클래스에 있는 내부변수에 모두 @Column을 내부적으로 포함 -> 옵셥없으면 생략 가능 -@NoArgsConstructor(access = AccessLevel.PROTECTED) //기본 생성자의 접근 제어를 PROTECTED로 설정해놓게 되면 무분별한 객체 생성에 대해 한번 더 체크할 수 있는 수단 -@DynamicInsert//status 기본값 유지를 위해 -@Getter -public class Post extends BaseTimeEntity { - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "post_id") - private Long postId; - - @Column(length = 500, nullable = false) - private String title; - - @Column(columnDefinition = "TEXT")// @NotNull은 @Column(nullable=false)의 역할도 같이 하므로 생략 - private String content; - - @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "account_id", updatable = false) - private Account writer; - - @OneToMany(mappedBy = "post", cascade = CascadeType.ALL, orphanRemoval = true) - // post에만 persist 하면 되고, post만 삭제하면 댓글도 다 삭제된다. - // 꼭 필요한가? - private List commentList = new ArrayList<>(); - - //TODO: status - - - @Builder - public Post(String title, String content, Account writer) { - this.title = title; - this.content = content; - this.writer = writer; - } - - public void updatePost(String title, String content) - { - this.title = title; - this.content = content; - } - - // 연관관계 편의 메소드 - public void addComment(Comment comment) { - commentList.add(comment); - comment.setPost(this); - } - -} diff --git a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/dto/CommentListDto.java b/blogsession/src/main/java/com/jiyun/blogsession/domain/board/dto/CommentListDto.java deleted file mode 100644 index d2fbde1..0000000 --- a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/dto/CommentListDto.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.jiyun.blogsession.domain.board.dto; - -public class CommentListDto { -} diff --git a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/dto/CommentRequestDto.java b/blogsession/src/main/java/com/jiyun/blogsession/domain/board/dto/CommentRequestDto.java deleted file mode 100644 index 4ea59d3..0000000 --- a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/dto/CommentRequestDto.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.jiyun.blogsession.domain.board.dto; - -import lombok.AccessLevel; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; - -import javax.persistence.Column; -import javax.validation.constraints.NotNull; - -@Getter -@NoArgsConstructor(access = AccessLevel.PROTECTED) -public class CommentRequestDto { - @NotNull(message = "내용은 필수로 입력되어야 합니다.")// 공백까지는 허용 - private String content; - - @Builder - public CommentRequestDto(String content) { - this.content = content; - } -} diff --git a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/dto/CommentResponseDto.java b/blogsession/src/main/java/com/jiyun/blogsession/domain/board/dto/CommentResponseDto.java deleted file mode 100644 index 85e313b..0000000 --- a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/dto/CommentResponseDto.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.jiyun.blogsession.domain.board.dto; - -import com.jiyun.blogsession.domain.board.domain.Comment; -import lombok.AccessLevel; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; - -import java.time.LocalDateTime; - -@Getter -@Builder -@AllArgsConstructor(access = AccessLevel.PRIVATE) -public class CommentResponseDto { - - private Long commentId; - - private Long postId; - - private String writerName; - - private String content; - - private LocalDateTime modifiedDate; - - public static CommentResponseDto of(Comment comment) { - return CommentResponseDto.builder() - .commentId(comment.getId()) - .postId(comment.getPost().getPostId()) - .writerName(comment.getWriter().getNickname()) - .content(comment.getContent()) - .modifiedDate(comment.getModifiedDate()) - .build(); - } -} diff --git a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/dto/PostListResponseDto.java b/blogsession/src/main/java/com/jiyun/blogsession/domain/board/dto/PostListResponseDto.java deleted file mode 100644 index dba4ad4..0000000 --- a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/dto/PostListResponseDto.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.jiyun.blogsession.domain.board.dto; - -import com.jiyun.blogsession.domain.board.domain.Post; -import lombok.AccessLevel; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; - -import java.time.LocalDateTime; -import java.util.List; -import java.util.stream.Collectors; - -@Getter -@Builder -@AllArgsConstructor(access = AccessLevel.PRIVATE) -public class PostListResponseDto { - - private List posts; - private Integer count; - - @Getter - public static class SinglePost{// 단일 객체글 생성 - private Long postId; - private String writerName; - private String title; - private String content; - private LocalDateTime createDate; - private LocalDateTime modifiedDate; - - public SinglePost(Post post) { - this.postId = getPostId(); - this.writerName = getWriterName(); - this.title = getTitle(); - this.content = getContent(); - this.createDate = getCreateDate(); - this.modifiedDate = getModifiedDate(); - } - - public static SinglePost of(Post post) { - return new SinglePost(post); - } - } - - - public static PostListResponseDto of(List postList) { - return PostListResponseDto.builder() - .posts(postList.stream().map(SinglePost::of).collect(Collectors.toList())) - .count(postList.size()) - .build(); - } - - -} diff --git a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/dto/PostRequestDto.java b/blogsession/src/main/java/com/jiyun/blogsession/domain/board/dto/PostRequestDto.java deleted file mode 100644 index 644e045..0000000 --- a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/dto/PostRequestDto.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.jiyun.blogsession.domain.board.dto; - - -import com.jiyun.blogsession.domain.account.domain.Account; -import com.jiyun.blogsession.domain.board.domain.Post; -import lombok.AccessLevel; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; - -@Getter -@NoArgsConstructor(access = AccessLevel.PROTECTED) -public class PostRequestDto { - @NotNull(message = "작성자는 필수로 입력되어야 합니다.") - private Long accountId; - @NotBlank(message = "제목은 필수로 입력되어야 합니다.")//해당 값이 null이 아니고, 공백(""과 " " 모두 포함)이 아닌지 검증 - private String title; - - @NotNull(message = "내용은 필수로 입력되어야 합니다.")//공백 또는 빈칸이 들어올 수 있음, Null이 아닌지만 체크 - private String content; - - @Builder - public PostRequestDto(Long accountId, String title, String content) { - this.accountId = accountId; - this.title = title; - this.content = content; - } - - public Post toEntity(Account writer) { - return Post.builder() - .title(title) - .content(content) - .writer(writer) - .build(); - } -} diff --git a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/dto/PostResponseDto.java b/blogsession/src/main/java/com/jiyun/blogsession/domain/board/dto/PostResponseDto.java deleted file mode 100644 index b4b0991..0000000 --- a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/dto/PostResponseDto.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.jiyun.blogsession.domain.board.dto; - -import com.jiyun.blogsession.domain.board.domain.Post; -import lombok.*; - -import java.time.LocalDateTime; - -@Getter -@Builder -@AllArgsConstructor(access = AccessLevel.PRIVATE) -public class PostResponseDto { - private Long postId; - private String writerName; - private String title; - private String content; - private Integer likeCount; - private Boolean isLiked; - private LocalDateTime createDate; - private LocalDateTime modifiedDate; -//TODO: 좋아요, 댓글 추가 - - public static PostResponseDto of(Post board) { - return PostResponseDto.builder() - .postId(board.getPostId()) - .title(board.getTitle()) - .content(board.getContent()) - .writerName(board.getWriter().getNickname()) - .createDate(board.getCreateDate()) - .modifiedDate(board.getModifiedDate()) - .build(); - } - -} diff --git a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/repository/PostRepository.java b/blogsession/src/main/java/com/jiyun/blogsession/domain/board/repository/PostRepository.java deleted file mode 100644 index 067bb95..0000000 --- a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/repository/PostRepository.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.jiyun.blogsession.domain.board.repository; - -import com.jiyun.blogsession.domain.account.domain.Account; -import com.jiyun.blogsession.domain.board.domain.Post; -import org.springframework.data.jpa.repository.JpaRepository; - -import java.util.List; - -public interface PostRepository extends JpaRepository { - List findByWriter(Account account); - List findAllByOrderByIdDesc(); -} diff --git a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/service/PostService.java b/blogsession/src/main/java/com/jiyun/blogsession/domain/board/service/PostService.java deleted file mode 100644 index 422d4d5..0000000 --- a/blogsession/src/main/java/com/jiyun/blogsession/domain/board/service/PostService.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.jiyun.blogsession.domain.board.service; - -import com.jiyun.blogsession.domain.account.domain.Account; -import com.jiyun.blogsession.domain.account.service.AccountService; -import com.jiyun.blogsession.domain.board.domain.Post; -import com.jiyun.blogsession.domain.board.dto.PostRequestDto; -import com.jiyun.blogsession.domain.board.repository.PostRepository; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -@Slf4j -@Service -@Transactional -@RequiredArgsConstructor -public class PostService { - private final PostRepository postRepository; - private final AccountService accountService; //서비스 안에서 다른 서비스 호출 가능 - - @Transactional(readOnly = true) - public List findAllDesc() { - return postRepository.findAllByOrderByIdDesc(); - } - - - @Transactional(readOnly = true) - public List findByWriter(Long accountId) { - Account account = accountService.findById(accountId); - return postRepository.findByWriter(account); - } - - - - public Long create(PostRequestDto requestDto) { - Account account = accountService.findById(requestDto.getAccountId()); - Post board = postRepository.save(requestDto.toEntity(account)); - return board.getBoardId(); - } - - - public void update(Long postId, PostRequestDto requestDto) { - Post board = findById(postId); - board.updatePost(requestDto.getTitle(), requestDto.getContent()); - } - - public void delete(Long boardId) { - Post board = findById(boardId); - postRepository.delete(board); - } - - @Transactional(readOnly = true) - public Post findById(Long boardId) { - return postRepository.findById(boardId) - .orElseThrow(() -> new IllegalArgumentException("해당 게시글이 없습니다. id=" + boardId)); - } -} diff --git a/blogsession/src/main/java/com/jiyun/blogsession/domain/comment/controller/CommentController.java b/blogsession/src/main/java/com/jiyun/blogsession/domain/comment/controller/CommentController.java deleted file mode 100644 index b173b9c..0000000 --- a/blogsession/src/main/java/com/jiyun/blogsession/domain/comment/controller/CommentController.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.jiyun.blogsession.domain.comment.controller; - -public class CommentController { -} diff --git a/blogsession/src/main/java/com/jiyun/blogsession/global/entity/BaseTimeEntity.java b/blogsession/src/main/java/com/jiyun/blogsession/global/entity/BaseTimeEntity.java index e0672ff..3e1a3f4 100644 --- a/blogsession/src/main/java/com/jiyun/blogsession/global/entity/BaseTimeEntity.java +++ b/blogsession/src/main/java/com/jiyun/blogsession/global/entity/BaseTimeEntity.java @@ -20,7 +20,7 @@ public abstract class BaseTimeEntity { @CreatedDate// Entity가 생성되어 저장될 때(최초 생성) 시간을 저장한다. @Column(updatable = false) // 최초 생성 시간을 기록하는 것이므로 수정할 일이 없다. 따라서 해당 컬럼은 수정되지 않게 막는다. // + 업데이트시 해당 값이 입력이 없는 경우 NULL이 될 수 있는데 update=false를 통해 update 시 NULL값이 들어오는 것을 막을 수 있다. - private LocalDateTime createDate; + private LocalDateTime createdDate; @LastModifiedDate//엔티티의 변경이 있으면 해당 시간을 저장한다. @Column(insertable=false) // 해당 컬럼은 DB 삽입에서 제외한다. 처음에는 DB에 넣을 때는 아직 수정하기 전이므로 비워져 있어야 한다. diff --git a/blogsession/src/main/resources/application.properties b/blogsession/src/main/resources/application.properties deleted file mode 100644 index 8b13789..0000000 --- a/blogsession/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ - diff --git a/blogsession/src/test/java/com/jiyun/blogsession/domain/account/domain/AccountTest.java b/blogsession/src/test/java/com/jiyun/blogsession/domain/account/domain/AccountTest.java new file mode 100644 index 0000000..1760f8b --- /dev/null +++ b/blogsession/src/test/java/com/jiyun/blogsession/domain/account/domain/AccountTest.java @@ -0,0 +1,11 @@ +package com.jiyun.blogsession.domain.account.domain; + +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; +import static org.junit.jupiter.api.Assertions.*; + +class AccountTest { + + +} \ No newline at end of file