목록분류 전체보기 (333)
정구리의 우주정복
커스텀 에러를 정의해서 쓰고싶은데에러 발생시 모든 에러들이 500으로 나오고, error 메세지도 내가 원하는대로 출력되지 않는다 ㅜㅜ !! 콘솔에서만 메세지가 나온다 ㅠㅠ내가 원하는건 이런게 아니야 ~! 알아보도록하자 이것을 알기 위해선이전에 쓴 Exception 과 RuntimeException 에 대한 글을 보고 오면 좋을듯 !https://j-ungry.tistory.com/391 [Spring] Exception, RuntimeException 상속에 대해 (Checked Exception, Unchecked Exception 이란 ?)예외처리를 위해 Exception 을 정의하던 중 왜 RuntimeException 을 상속받는지 궁금해져버렸다 ! 자바는 예외를 크게 두종류인Checked Ex..
다산의 마지막 공부 저자 : 조윤제 출판사 : 청림출판 출판일 : 2023.11.29 내 인생의 걸림돌은 언제나 나 자신이였다 후기 페이커 추천 도서여서 읽어보게 된 책이다 사실 엄청 지루할 줄 알았는데 그렇지 않았고, 생각보다 더 술술 읽히고 좋은 문장들이 많아 옆에 종이를 펴두고 받아 적으며 읽고 싶었던 책이다 논어를 비록한 많은 경전에서 마음을 다스리는 방법을 인용해 작성한 책이다 특별한 순간이 아니라 일상속에서 나의 몸과 마음을 지켜나가자 라고 권유를 해주는 책 ! 위대한 사람이 되기 위해 비범하고 엄청난 노력을 해야하는 것이 아니라 본질에 충실해야 함을 알려준 책이다 일상속에서 내면이 단단해지는 방법을 알려주는 책이다. 생각보다 책의 난이도가 높지 않고, 일상에 적용할 수 있는 문장들이 많아서 ..
예외처리를 위해 Exception 을 정의하던 중 왜 RuntimeException 을 상속받는지 궁금해져버렸다 ! 자바는 예외를 크게 두종류인Checked Exception, Unchecked Exception 으로 분류할 수 있다 Checked Exception 컴파일러가 예외 처리 코드를 작성하도록 강제하는 예외 파일 입출력, 네트워크 통신, DB 접근 등 외부 자원과 상호작용할 때 발생할 수 있는 예외Exception 을 상속컴파일 시점에 반드시 처리되어야 한다throws 절을 사용해서 메서드 선언에 예외를 명시해줘야 한다호출할 때 try-catch 블록으로 처리해야한다public class CheckedException extends Exception { public CheckedExcep..
사용 환경 :Java 21Postgresql 16 문제 상황 Postgresql 에 recommend_type 이라는 이름의 Enum 을 만들었음. 하지만 jpa 에서 recommend_type 을 enum 값이 아닌 character 로 인식하면서 발생하는 문제 문제 코드 엔티티Recommend.java@Entity@Table(name = "recommend")@Getterpublic class Recommend { @Id @Column(name = "id") @GeneratedValue(strategy = GenerationType.UUID) private String id; @Column(name = "user_id") private String userId; ..
공부를 하다가 문득 DB 안의 모든 내용을 조회하고 싶으면 컨트롤러에서 엔티티를 직접 리턴해도 되지 않을까 ? 라는 의문이 생겼다 나는 습관적으로 DTO 를 만들어서 사용하고 있었기 때문 !오늘은 이에 대해서 알아보도록 하자 결론부터 말하면 안된다 !!!안되는건 아니고추천하지 않는다 !!! 하지말라는 말이다 !!! 왜일까가장 쉬운 이유는 보안성 : 필요한 정보만 선택적으로 노출할 수 있다 + 화면에 필요한 데이터만 선별이 가능하다유연성 : 요구사항에 맞춰 엔티티와 다른 구조를 가질 수도 있고, DB 의 구조변경이 미치는 영향을 최소화할 수 있다성능 최적화 : 필요한 데이터만 전송하므로 네트워크 트래픽을 줄일 수 있다 몇가지만 더 구체적으로 알아보자면엔티티는 곧 DB 의 구조이다 !! 그러므로 DB 의 구..
해당 에러는 JPA가 'enum' 타입을 데이터베이스에 올바르게 매핑하지 못해서 발생하는 에러다JPA가 'enum' 타입을 DB 에 저장하고 검색할 수 있도록 '@Enumerated' 어노테이션을 추가해주면 된다 ! 기존 코드@Entity@Table(name = "recommend")public class Recommend { @Id @Column(name = "id") @GeneratedValue(strategy = GenerationType.UUID) private String id; @Column(name = "user_id") private String userId; @Column(name = "password") private String passwo..
@Entity 를 쓰려했는데 기본생성자 (@NoArgsConstructor) 가 무조건 있어야한다고 한다 빨간줄 100개뜸. 왜일까 출처 : 내친구 챗지피티프록시 생성:JPA는 엔티티 객체를 로딩할 때, 지연 로딩(Lazy Loading)을 위해 프록시 객체를 생성할 수 있습니다. 이 프록시 객체는 기본 생성자를 사용하여 인스턴스를 생성한 후, 필요한 시점에 실제 데이터베이스 조회를 통해 필드를 채웁니다. 기본 생성자가 없으면 이러한 프록시 객체를 생성할 수 없습니다.리플렉션 사용:JPA 구현체는 리플렉션(Reflection)을 사용하여 엔티티 객체를 인스턴스화합니다. 리플렉션을 통해 객체를 생성하려면 기본 생성자가 필요합니다. 이는 JPA가 내부적으로 객체를 생성하고 초기화하는 과정에서 필수적입니다...
항상 습관처럼 @Builder 와 @NoArgsConstructor ,@AllArgsConstructor 를 썼는데 왜 둘을 같이 써야하는지, 어떤 원리로 동작하는지도 모르고있었다나는 바보 ! lombok 개발자 !! 알아보도록 하자 틀리거나 문제가 있다면 댓글로 알려주세요 감사합니다땡큐@Builder 의 역할생성자를 메서드 체인을 사용해서 호출할 수 있는 빌더 클래스를 생성해준다순서도 상관없고, 값을 넣지 않은 경우 default 값이 들어가게 된다@Builder 장점쉽게 빌더 패턴을 사용할 수 있음 (객체 생성 후 값을 변경되지 않게 할 수 있다)유연한 객체 생성 (필드 순서에 상관없음, 필요한 필드만 생성 가능)옵션 값 처리 (필수 값만 넣어주고 나머지는 기본값을 사용가능함) @Builder 사용법..