springboot

Spring/오류

No enum constant: QueryDSL에서 Enum타입을 어떻게 받아서 처리할 수 있을까?

예외 발생 String으로 받으면? 되게 심플한 예외입니다. 먼저 Entity와 Enum을 보겠습니다. Post Entitiy입니다. @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Post extends BaseEntity{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "post_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id") private User user; private String thumbnail; @Column(l..

JPA

Querydsl: OneToMany 관계에서 Projection DTO 값 List를 어떻게 갖고올까?

이 코드의 목적 제목, 글쓴이, 제목 + 내용 등을 통한 게시글 검색 기능입니다. 게시글 리스트를 불러올 때 해시태그도 보여줘야 하기 때문에 List값이 필요합니다. 이 오류는 왜 발생했을까? Entity입니다. @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Post extends BaseEntity{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "post_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id") private Us..

Spring/오류

com.querydsl.core.types.ExpressionException

이 코드의 목적 제목, 글쓴이, 제목 + 내용을 통한 게시글 검색 기능입니다. 이 오류는 왜 발생했을까? 먼저 QueryDSL을 작성한 코드를 보겠습니다. public Page search(PostSearchCondition condition, Pageable pageable) { List content = queryFactory .select(Projections.constructor(PostListResponseDto.class, post.id, user.id, user.nickname, post.thumbnail, post.title, post.content, post.hits, post.category, post.comment.size(), post.postLike.size(), post.crea..

Java

빌더 패턴(Builder pattern)을 써야하는 이유, @Builder

빌더 패턴(Builder pattern)이란? 객체를 정의하고 그 객체를 생성할 때 보통 생성자를 통해 생성하는 것을 생각한다. 객체를 생성할 수 있는 빌더를 builder() 함수를 통해 얻고 거기에 셋팅하고자 하는 값을 셋팅하고 마지막에 build()를 통해 빌더를 작동 시켜 객체를 생성한다. 빌더를 왜 써야할까? 1. 생성자 파라미터가 많을 경우 가독성이 좋지 않다. 2. 값을 넣는 순서가 상관이 없다. 1번 User oneUser = new User( "test@test", "test1", "bang", "010-1234-1234", "dsa", "hi", "n", "ahffk", "dsa", LocalDateTime.now()); 이런 경우에 어떤 값을 넣어야 되고 어떤 순서인지 너무 헷갈리지 ..

Spring/오류

org.hibernate.PersistentObjectException: detached entity passed to persist

detached entity passed to perist 발생 JPA 프로젝트에 엔티티를 영속화 및 커밋 시도하니 다음과 같은 에러가 발생 구글링 결과 CascadeType.ALL 옵션과 관련있는 듯 해보였으나 회원 가입만 구현한 상태이기 때문에 해당 문제는 아니였다. CascadeType.ALL 관련 옵션이 없으나 동일한 오류가 발생하였다면 엔티티 클래스에 @Id를 부여한 필드에 @GeneratedValue를 작성하여 AUTO, SEQUENCE, IDENTITY 전략 등 데이터베이스에게 key 값을 자동 생성하도록 하는 전략을 선택하였으면서 엔티티 객체 생성 시 Id에 해당하는 필드에 직접 값을 입력하지 않았는지 확인

Spring

뷰 리졸버 - /WEB-INF/views/ + .jsp 자동 설정

뷰 리졸버 - InternalResourceViewResolver 스프링 부트는 InternalResourceViewResolver 라는 뷰 리졸버를 자동으로 등록하는데, 이때 application.properties 에 등록한 spring.mvc.view.prefix , spring.mvc.view.suffix 설정 정보를 사용해서 등록한다

초보병일이
'springboot' 태그의 글 목록