패스트캠퍼스
패스트캠퍼스 환급챌린지 24일차 : 9개 도메인 프로젝트로 끝내는 백엔드 웹 개발 (Java/Spring) 초격차 패키지 Online 강의 후기
이태우(1990년)
2025. 3. 28. 23:33
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
공부 시작 시각 인증
수강 인증 사진
UserRepository.java
package org.fastcampus.user.application.Interfaces;
import org.fastcampus.user.domain.*;
public interface UserRepository {
User save(User user);
User findById(Long id);
}
UserRepositoryImpl.java
package org.fastcampus.user.repository;
import lombok.RequiredArgsConstructor;
import org.fastcampus.user.application.Interfaces.UserRepository;
import org.fastcampus.user.domain.*;
import org.fastcampus.user.repository.entity.UserEntity;
import org.fastcampus.user.repository.jpa.JpaUserRepository;
import org.springframework.stereotype.Repository;
@Repository
@RequiredArgsConstructor
public class UserRepositoryImpl implements UserRepository {
private final JpaUserRepository jpaUserRepository;
@Override
public User save(User user) {
UserEntity entity = new UserEntity(user);
entity = jpaUserRepository.save(entity);
return entity.toUser();
}
@Override
public User findById(Long id) {
UserEntity entity = jpaUserRepository
.findById(id)
.orElseThrow(IllegalArgumentException::new);
return entity.toUser();
}
}
QueryDslConfig.java
package org.fastcampus.common.config;
import com.querydsl.jpa.impl.JPAQueryFactory;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class QueryDslConfig {
@PersistenceContext
private EntityManager entityManager;
@Bean
public JPAQueryFactory jpaQueryFactory() {
return new JPAQueryFactory(entityManager);
}
}