개발자 노트 - 강경훈 story
close
프로필 배경
프로필 로고

개발자 노트 - 강경훈 story

  • 분류 전체보기 (582)
    • 설치메뉴얼 (9)
    • Java (273)
      • Java 기초 문법 (24)
      • Java 객체 지향 핵심 (30)
      • Java 유용한 클래스 (51)
      • 자료구조 (20)
      • JSP (28)
      • Swing 프로젝트 (19)
      • 교재 정리 (12)
      • 디자인 패턴 (11)
      • 자바 라이브러리 (6)
      • 알고리즘(코테) (67)
    • Spring Boot (92)
      • Bank App 만들기 (deployment) (30)
      • 추가 개념 (7)
      • Blog 프로젝트 만들기(JPA) (53)
    • My Project (29)
      • 쇼핑몰 (15)
      • Java Swing 멀티 쓰레딩 프로그램 (10)
      • Java 1 : N 양방향 소켓 통신 (스윙) (4)
    • 면접 질의 응답 모음 (5)
    • CS (28)
      • 컴퓨터 구조 (7)
      • 운영체제 (6)
      • 네트워크 (8)
      • 시스템 설계 (7)
    • Vue.js (1)
      • 사전지식 (1)
    • MySQL (47)
      • 정리 (33)
      • 1일 1쿼리 (14)
    • HTML CSS (30)
      • HTML (10)
      • CSS (8)
      • CSS flexbox (9)
      • 블로그 만들기 (3)
    • JS (23)
      • JavaScript 핵심 (6)
      • JS 작업을 위한 코딩 연습 (8)
      • JavaScript 게시판 만들기 (8)
    • Git (9)
      • 강의 정리 (5)
      • 교재 정리 (3)
    • Flutter (27)
      • 기초 (4)
      • Flutter UI 프레임워크 (18)
      • MVVM 패턴과 상태 관리 (4)
    • error note (4)
      • Java (4)
    • 방통대정리 (2)
      • C++프로그래밍 (2)
  • 홈
  • 깃 허브
  • 설정

게시글 삭제 오류 해결

1. 테스트로그인 후 삭제 요청 해보기오류 발생 확인 fk 제약 조건 때문에 게시글을 삭제하면 댓글이 참조하는 게시글이 사라지기 때문에 삭제가 될 수 없음.어노테이션을 이용해서 도움 받기댓글의 FK에 값을 NULL로 변경하고 게시글 삭제댓글을 먼저 삭제하고, 게시글 삭제 2. cascade 설정 하기@OneToMany(mappedBy = "board", fetch = FetchType.LAZY, cascade = CascadeType.REMOVE)private List replies = new ArrayList();

  • format_list_bulleted Spring Boot/Blog 프로젝트 만들기(JPA)
  • · 2024. 10. 17.
  • textsms

댓글 목록 보기

1. 기존 코드 수정BoardService 코드 수정 (게시글 상세 보기)/** * 게시글 상세보기 서비스, 게시글 주인 여부 판별 */public Board getBoardDetails(Integer boardId, User sessionUser) { Board board = boardJPARepository .findById(boardId) .orElseThrow(() -> new Exception404("존재하지 않는 게시글입니다.")); boolean boardOwner = false; if (board.getUser().getId().equals(sessionUser.getId())) { boardOwner = true; ..

  • format_list_bulleted Spring Boot/Blog 프로젝트 만들기(JPA)
  • · 2024. 10. 17.
  • textsms

댓글 테이블 설계 (엔티티)

💡 학습 목표    1. JPA를 사용하여 데이터베이스 테이블과 자바 객체 간의 매핑을 정확하게 구현할 수 있다     2. 다대일(Many-to-One) 관계를 설정하여 엔티티 간의 연관성을 표현할 수 있다.     3. 데이터베이스에 저장할 필요가 없는 필드를 효과적으로 관리할 수 있다.1. 댓글 테이블 설계 (엔티티) 리플 엔티티 설계package com.tenco.blog_v1.reply;import com.tenco.blog_v1.board.Board;import com.tenco.blog_v1.user.User;import jakarta.persistence.*;import lombok.*;import org.hibernate.annotations.CreationTimestamp;import..

  • format_list_bulleted Spring Boot/Blog 프로젝트 만들기(JPA)
  • · 2024. 10. 16.
  • textsms
Service 레이어 만들기

Service 레이어 만들기

목차💡 학습 목표    1. Service 레이어의 개념과 필요성을 알고 있다.     2. 트랜잭션 관리 이해 및 코드에 적용해 보기     3. Controller에서 Service 사용으로 코드 리팩토링 해보기1. User Service 레이어 만들기 Service 레이어는 애플리케이션의 비즈니스 로직을 담당하는 계층이다. Controller는 클라이언트의 요청을 받고 응답을 반환하는 역할을 하며, Repository는 데이터베이스와의 상호작용을 담당한다. 이 두 계층 사이에 Service 레이어를 도입함으로써 여러 이점을 얻을 수 있다. UserDTO 코드 추가@Datapublic static class JoinDTO { private String username; private St..

  • format_list_bulleted Spring Boot/Blog 프로젝트 만들기(JPA)
  • · 2024. 10. 15.
  • textsms
JPARepository 란?

JPARepository 란?

목차💡 학습 목표    1. Spring Data JPA에서 제공하는 JPARepository의 개념과 그 활용을 알아 보자.1. JPARepository란? Spring Data JPA는 Repository 인터페이스를 통해 데이터 접근 계층을 간편하게 구현할 수 있도록 도와주는 프레임워크이다. 개발자가 직접 DAO(Data Access Object) 클래스를 작성하지 않고도, JpaRepository를 상속받는 인터페이스에 메서드를 정의함으로써 데이터베이스와의 상호작용을 처리할 수 있다. 주요 메서드 확인save(S entity): 엔티티를 저장하거나 업데이트한다.findById(ID id): ID로 엔티티를 조회한다.findAll(): 모든 엔티티를 조회한다.deleteById(ID id): I..

  • format_list_bulleted Spring Boot/Blog 프로젝트 만들기(JPA)
  • · 2024. 10. 14.
  • textsms
리팩토링

리팩토링

💡 학습 목표    1. User 엔티티를 단방향 매핑으로 변경할 수 있다.    2. 인증과 인가(권한) 처리에 대해서 알아보자.1. User 관련 수정 User 엔티티 수정 - 자신만의 정보를 참조 할 수 있다package com.tenco.blog_v1.user;import jakarta.persistence.*;import lombok.*;import org.hibernate.annotations.CreationTimestamp;import java.sql.Timestamp;@NoArgsConstructor@AllArgsConstructor@Getter@Setter@Builder@Entity@Table(name = "user_tb")public class User { @Id @Gene..

  • format_list_bulleted Spring Boot/Blog 프로젝트 만들기(JPA)
  • · 2024. 10. 14.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • ···
  • 16
  • navigate_next
공지사항
  • 목차 목록
전체 카테고리
  • 분류 전체보기 (582)
    • 설치메뉴얼 (9)
    • Java (273)
      • Java 기초 문법 (24)
      • Java 객체 지향 핵심 (30)
      • Java 유용한 클래스 (51)
      • 자료구조 (20)
      • JSP (28)
      • Swing 프로젝트 (19)
      • 교재 정리 (12)
      • 디자인 패턴 (11)
      • 자바 라이브러리 (6)
      • 알고리즘(코테) (67)
    • Spring Boot (92)
      • Bank App 만들기 (deployment) (30)
      • 추가 개념 (7)
      • Blog 프로젝트 만들기(JPA) (53)
    • My Project (29)
      • 쇼핑몰 (15)
      • Java Swing 멀티 쓰레딩 프로그램 (10)
      • Java 1 : N 양방향 소켓 통신 (스윙) (4)
    • 면접 질의 응답 모음 (5)
    • CS (28)
      • 컴퓨터 구조 (7)
      • 운영체제 (6)
      • 네트워크 (8)
      • 시스템 설계 (7)
    • Vue.js (1)
      • 사전지식 (1)
    • MySQL (47)
      • 정리 (33)
      • 1일 1쿼리 (14)
    • HTML CSS (30)
      • HTML (10)
      • CSS (8)
      • CSS flexbox (9)
      • 블로그 만들기 (3)
    • JS (23)
      • JavaScript 핵심 (6)
      • JS 작업을 위한 코딩 연습 (8)
      • JavaScript 게시판 만들기 (8)
    • Git (9)
      • 강의 정리 (5)
      • 교재 정리 (3)
    • Flutter (27)
      • 기초 (4)
      • Flutter UI 프레임워크 (18)
      • MVVM 패턴과 상태 관리 (4)
    • error note (4)
      • Java (4)
    • 방통대정리 (2)
      • C++프로그래밍 (2)
최근 글
인기 글
태그
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바