본문 바로가기

스프링18

[Spring] JPA Querydsl Unsupported expression Querydsl Unsupported expression 오류 해결 방법 .as()를 통해 alias 사용하기 qHolding.goods_cnt.sum().as("sumGoodsCnt"), Expressions.stringTemplate("group_concat({0})", qHolding.user.user_id).as("userIds") GoodsHoldingDto.java public class GoodsHoldingDto { private Long goodsId; private String goodsNm; private Integer sumGoodsCnt; private String userIds; @QueryProjection public GoodsHoldingDto(Long goodsId, St.. 2022. 10. 9.
[Spring] inflearn 스프링 입문 - AOP AOP가 필요한 상황 1. 모든 메소드의 호출 시간을 측정하고 싶을 때 기존 방법 - 메소드마다 시작 끝 시간 측정 src/main/java/hello/hellospring/service/MemberService.java public Long join(Member member) { long start = System.currentTimeMillis(); try { // 같은 이름이 있는 중복 회원x validateDuplicateMember(member); // 중복 회원 검증 memberRepository.save(member); return member.getId(); } finally { long finish = System.currentTimeMillis(); long timeMs = finish.. 2022. 9. 16.
[Spring] inflearn 스프링 입문 - 스프링 DB 접근 기술 6 스프링 데이터 JPA 인터페이스만으로 개발 완료. 반복적으로 개발해온 CRUD 기능도 스프링 데이터 JPA가 제공. 코드 적을 게 없음. 그냥 쓰면 됨. 스프링부트 + JPA + 스프링 데이터 JPA 프레임워크. 관계형 데이터베이스 사용 시 스프링 데이터 JPA 필수 스프링 데이터 JPA는 JPA를 편리하게 사용하도록 도와주는 라이브러리. JPA 먼저 학습. 실제 운영시 문제들 해결할 수 없음 src/main/java/hello/hellospring/repository/SpringdataJpaMemberRepository.java SpringdataJpaMemberRepository 인터페이스 생성 인터페이스가 인터페이스를 받을 때는 extends JpaRepository T : Member ID: en.. 2022. 9. 15.
[Spring] inflearn 스프링 입문 - 스프링 DB 접근 기술 4 스프링 JdbcTemplate MyBatis와 비슷한 라이브러리. JDBC API에서의 반복적인 코드를 제거한 라이브러리. sql은 직접 작성해야 함. JdbcTemplate을 써야 함. JdbcTemplate은 injection을 받을 수 있는 것은 아님. dataSource가 injection받음. 생성자가 딱 하나만 있으면 스프링 빈으로 등록되면 @Autowired 생략 가능 스프링이 자동으로 dataSource injection 해줌 src/main/java/hello/hellospring/repository/JdbcTemplateMemberRepository.java public class JdbcTemplateMemberRepository implements MemberRepository { .. 2022. 9. 15.