태그 목록
전체보기 (106)Capstone(34)db(20)algorithm(18)CS(18)Backend(17)CodingTest(14)project(13)Vingterview(12)boj(10)sql(8)computer architecture(8)greedy(8)Lecture note(8)deploy(7)django(7)Posting(6)Java(6)JVM(5)authentication(5)authorization(4)OS(4)data structure(4)Spring(4)kakao(4)Implementation(4)API(3)CI/CD(3)stack(3)refactoring(3)Query Processing(3)heap(2)Query Optimization(2)BFS(2)protocol(2)runtime data area(2)spring security(2)drf(2)Index(2)logging(2)linked list(2)network(2)websocket(2)Restful(2)Deque(2)Execution Engine(2)transaction(2)View(1)brute force(1)PK(1)Multiprocessor(1)pipelining(1)Native Method Libraries(1)Hashing(1)OAuth2.0(1)ec2(1)Nginx(1)JWT(1)@api_view(1)Computer System(1)docker(1)Services(1)question(1)Processor(1)coding test(1)tree(1)union(1)PC Register(1)circular queue(1)GC(1)exception handling(1)classLoader(1)Physical Storage(1)memory(1)scheduling(1)Multiple key index(1)Class Loader(1)Recovery system(1)array(1)ISA(1)user(1)Native Method Interface(1)Method Area(1)Data Storage Structure(1)aws(1)Web Server(1)JIT Compiler(1)Virtual Avatar(1)Generics(1)unique(1)DFS(1)Binary Search Tree(1)CRUD(1)Sub Query(1)algotithm(1)dynamic programming(1)exception(1)Concurency Control(1)ViewSet(1)unittest(1)Comment(1)Native Method Stack(1)tag(1)mixin(1)Divide and conquer(1)cors(1)stomp(1)ModelSerializer(1)unit test(1)BaseSerializer(1)kako(1)dynamicprogramming(1)interpreter(1)Graph(1)restful api(1)rds(1)Thread(1)queue(1)garbage collector(1)process(1)ALU(1)REST(1)무중단 배포(1)priority queue(1)apps.py(1)signal(1)FK(1)Performance(1)datatype(1)garbage collection(1)live-streaming(1)csrf(1)MIPS(1)Spanning Tree(1)binary tree(1)JOIN(1)serializer(1)B+TREE(1)
post-thumbnail

[빙터뷰] 댓글 기능 구현

Comment 사용자가 영상 게시판에 면접 연습 영상을 올리면 다른 사용자들이 영상을 보고 피드백을 해주는 기능이다. 일반적인 게시판의 댓글 기능과 유사하다. Domain Comment 데이터베이스의 Comment테이블에 해당하는 엔티티이다. id값은 DB에서 자동으로 생성되도록 Identity전략을 사용하여 위임하였고, jpql의 n+1문제를 방지하기 위해 모든 연관관계에 지연로딩 전략을 사용하였다. 또한 댓글에 달린 좋아요를 편리하게 확인하기 위해 CommentMemberLike테이블을 참조하는 likes필드를 만들어 매핑하였다. 또한 comment가 삭제되면 해당 comment에 좋아요를 누른 기록이 모두 삭제될 수 있도록 likes필드에 CascadeType.REMOVE옵션을 걸어두었다. 무분별한 생성과 수정을 막기 위해 Setter는 닫아두었으며 생성자를 통해서 초기값을 설정하고 update메소드를 통해서만 값을 변경할 수 있도록 구현하였다. 다만 스프

2023년 4월 7일
·
1개의 댓글
·