inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

Bootstrap을 직접 다운받지않고 CDN을 이용해 간편하게 적용하는 법입니당.

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

`resources/templates/fragments/header.html`의 코드를 아래와 같이 변경해주시면 됩니다. `<!-- Bootstrap CDN -->`아래 코드 4줄이 Bootstrap을 적용시켜주는 코드입니다. <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head th:fragment="header"> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink- to-fit=no"> <!-- Custom styles for this template --> <link href="/css/jumbotron-narrow.css" rel="stylesheet"> <!-- Bootstrap CDN --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script> <title>Hello, world!</title> </head>

  • JPA
  • spring-boot
  • 웹앱
  • spring
  • java
미리바니 댓글 9 좋아요 38 조회수 5018

Builder 사용 시 NullPointerException 뜨는 경우 참고사항 (NPE)

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

@OneToMany ( mappedBy = "order" , cascade = CascadeType. ALL) private List < OrderItem > orderItems = new ArrayList <>() ; 이런 식으로 코드를 작성 후 Lombok의 @Builder를 사용하시는 분들은 빌더 패턴을 통해서는 필드에 아무리 기본값을 명시해뒀더라도 기본값이 null아니면 0이 튀어나오므로 @Builder.Default 를 따로 선언해주셔야 null이 아닌 ArrayList가 생성됩니다. @Builder.Default @OneToMany ( mappedBy = "order" , cascade = CascadeType. ALL) private List < OrderItem > orderItems = new ArrayList <>() ;

  • 웹앱
  • java
  • spring-boot
  • JPA
  • spring
한창훈 댓글 1 좋아요 4 조회수 788

batch insert 질문있습니다!

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하세요 주니어입니다! 이 강의랑은 동떨어진 질문이긴한데요 ㅎㅎ; 강의보면서 계속 이거저거 생각하다보니 영한님은 혹시 batch insert하실때 어떻게 하시는지 궁금합니다 ! 회사에서는 JPA를 쓸때 기본키 전략이 IDENTITY 이면 JPA로 batch insert하기가 어려워서 jdbcTemplate으로 한다고 하거든요. 수량은 대략 5,000~10,000건 단위이고요. JPA초고수께서는 어떤방식으로 batch insert를 하시는지 갑자기 너무너무너무 궁금해져서 동떨어진 질문을 달게됐습니다.. 아 그리고 강의보면서 항상 감사드리고있어요. 제 마음속의 스승님이십니다 !

  • spring
  • spring-boot
  • 웹앱
  • java
  • JPA
한창훈 댓글 2 좋아요 1 조회수 469

Controller 코드 관련 질문입니다.

해결됨

스프링 기반 REST API 개발

좋은 강의 감사드립니다. 한국은 설 연휴가 시작되었는데 새해 복많이 받으세요! 10분40초경 return 해줄 때 ResponseEntity의 body에 event가 아니라 newEvent를 반환해줘야 될 것 같은데 아닌가요..? 현재 코드상 event 는 modelmapper를 활용해서 만든 event객체라 id값이 없고 테스트를 실패할것 같은데 body에 event를 넘겨줘도 테스트에서 return 된 body 에는 id값이 들어가있고 테스트가 통과되는데 제가 놓친부분이 궁금합니다.

  • java
  • rest-api
  • spring
jaden 댓글 1 좋아요 1 조회수 231

orderId 가 1000개가 넘어가는 경우에 대해 궁금합니다.

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

영한님 안녕하세요! orderId 가 1000개가 넘어가는 경우에 대해 궁금합니다. Mysql 기준 where in절에 올 수 있는 최대 개수가 1000개로 알고 있어서요. 이 경우 애플리케이션 코드에서 1000개를 파티션하고 나눠서 호출하는게 맞을까요?

  • java
  • spring
  • JPA
  • spring-boot
레알이 댓글 1 좋아요 1 조회수 263

member Id 관련

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

10분 20초 관련 질문입니다. Member member = new Member(); member.setName("user1"); 에서 어떻게 findMember.getId()를 DB에서 가지고오지 않아도 알 수 있는지 궁금합니다. id값을 지정하지 않았는데 바로 getId()로 Id값을 가지고 온다는게 이해가 안됩니다. DB에서 꺼내와야 알 수 있는게 아닌가라고 생각되는데 궁금합니다.

  • JPA
  • java
모코코 댓글 1 좋아요 1 조회수 281

윈도우 기준 단축키

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

선생님께서 '커맨드'라고 하는 건 컨트롤(ctrl)로, '옵션'이라고 하는 건 알트(alt)로 생각하시면 될 것 같습니다! 직접 프로그램 내에서 써보고 찾아보니까 아직까지는 다 맞았던 것 같아요! (ex. 옵션 엔터 = 윈도우에서는 alt + enter) (ex. 커맨드 옵션 M = 윈도우에서는 ctrl + alt + M )

  • spring
  • spring-boot
  • MVC
  • java
jyi4719 댓글 14 좋아요 41 조회수 1678

지연로딩과 영속성전이

해결됨

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

안녕하세요 영한님. 강의를 듣다가 궁금증이 생겨 질문 남깁니다. 가정하는 상황은 다음과 같습니다. 부모(Team) <----> 자식(Member) 양방향 연관관계를 갖고, 부모에서 @OneToMany(fetch=FetchType.LAZY, cascade = CascadeType.All) 입니다. Team은 이미 생성되있고, 새로운 멤버를 추가하는 경우, Team team = em.find(Team.Class, teamid); Member member = new Member(); member.set(team); team.getMemberList().add(member); //질문1. 이때 team에 변경감지가 일어나 em.flush(team) 이 실행되는지 궁금합니다. 질문2. 새로운 member만 add되고 변경감지->영속성전이 가 되는건지, 혹은 기존 member들도 select해오는건지 잘 모르겠습니다!! * 통합적으로.. Cart와 CartItem 같은 엔티티의 경우, 저의 입장은 Cart가 CartItem에 대한 책임과 역할을 갖는 객체로 수정,삭제 등을 관리하고 싶은데, 이때 Cart가 연관관계의 주인이 아니므로 영속성 전이와 고아객체 옵션을 사용하고자 하는 것입니다. 이게 옳은 방향인지 잘 모르곘습니다. ㅠㅠ 감사합니다.

  • spring
  • JPA
  • spring-boot
  • java
댓글 1 좋아요 0 조회수 197

jpql 질문있습니다!

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

항상 강의 잘 보고있습니다! 문득 보다가 궁금한 것이 생겼는데요 쿼리에서 select m from Member m join Team t on m.username = t.name이랑 select m from Member m join m.team t on m.username =t.name이랑 완전히 같나요? join Team t 는 inner join Team team1_ on ( member0_.username=team1_.name ) 이렇게 나오는데 join m.team t는 inner join Team team1_ on member0_.TEAM_ID=team1_.TEAM_ID and ( member0_.username=team1_.name ) 이렇게 나오는거 같아서요. 뭔가 m.team t가 조건이 하나 더 걸린 느낌이랄까요...

  • JPA
  • java
twosom 댓글 1 좋아요 1 조회수 216

WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!) Exception in thread "main" org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

JpaMain 실행 시 마지막에 exit code 1과 함께 이 메시지들이 계속해서 출력되서 도움 요청드립니다. 오류 메시지가 너무 많이 떠서 어떤 것이 문제인지 잘 모르겠네요..

  • JPA
  • java
송지훈 댓글 2 좋아요 0 조회수 722

비즈니스 로직을 엔티티에 위임하는 기준이 궁금합니다!

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하세요! 강의 잘 듣고 있습니다~ 주문 취소와 주문 가격 조회 비즈니스 메서드를 엔티티 내부에서 선언하신 이유가 궁금합니다! 오더와 달리 멤버의 경우 엔티티에 비즈니스 로직을 작성하지 않은 건 리포지토리에서 사용한 save, find 외에 별다른 로직이 없기 때문인가요? 서비스가 아닌 엔티티에 비즈니스 로직을 위임하는 기준이 궁금합니다!

  • spring
  • 웹앱
  • spring-boot
  • JPA
  • java
정원be 댓글 1 좋아요 3 조회수 373

리포지토리 테스트케이스 실행

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

테스트 케이스 실행했을 때 이렇게 뜨는데 제대로 되는건가요? 강의 영상에서는 아무것도 안뜨던데 저는 이렇게 결과가 뜹니다..!

  • java
  • spring-boot
  • spring
  • MVC
spacebar 댓글 1 좋아요 0 조회수 306

벌크성 쿼리 질문입니다

미해결

실전! 스프링 데이터 JPA

밑에 질문을 보면 findByusername으로 member을 찾아올 때 1차캐시에서 가져오는 것이 아닌 DB를 통해 가져온다고 하셨는데 그러면 em.clear를 해주지 않아도 member5는 db에서 조회해서 가져오기 때문에 age가 41로 되야하는 것 아닌가요??? 이 부분이 잘이해가 안됩니다 ㅠㅠ

  • spring
  • java
  • JPA
  • spring-boot
syh 댓글 1 좋아요 2 조회수 297

후반부 MemberServiceIntegrationTest에서 회원가입 실행 시 수많은 오류들이 나와서 질문드립니다!

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

패키지와 심볼 클래스를 찾을 수 없다고 나오는데 제가 라이브러리 다운로드를 잘못한건가 싶은데 정확하게 원인을 찾을 수 없어 질문 드립니다. 사진 첨부합니다!

  • spring-boot
  • spring
  • MVC
  • java
송지훈 댓글 2 좋아요 0 조회수 281

Bear(베어) 강의 자료

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하세요. 영한님 좋은 강의 제공해주셔서 감사합니다. 다름이 아니라, Bear(베어)에서 강의 자료를 보고 싶은데 pdf 파일은 볼 수 없는 거 같습니다. 혹시 베어에서 볼 수 있게 .md파일로도 강의자료 부탁드려도 되겠습니까? 감사합니다.

  • spring-boot
  • java
  • spring
  • 웹앱
  • JPA
댓글 1 좋아요 0 조회수 576

프로젝트 세팅 중 maven compile시 에러발생합니다

미해결

스프링과 JPA 기반 웹 애플리케이션 개발

프로젝트 실행하기 강의중에 maven compile시에 아래와 같은 에러가 발생합니다. 해결 방법이 있을까요? Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.8.0:npm (npm install) on project studyolle: Failed to run task

  • maven
  • plugin
  • thymeleaf
  • JPA
  • spring-boot
  • java
  • spring
오홓 댓글 3 좋아요 0 조회수 905

JPQL 관련 질문 드립니다!

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

14분 쯤에 SELECT m, t FROM MEMBER m LEFT JOIN TEAM t on m.username=t.name 은 SELECT m, t FROM MEMBER m LEFT JOIN TEAM t where m.username=t.name 과 다른 건가요?? 다르다면 어떤 차이가 있는지 궁금합니다!

  • JPA
  • java
김태형 댓글 2 좋아요 0 조회수 292

테이블 아이디 설계 및 hidden 태그 관련 질문 드립니다.

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

항상 명강의 감사합니다. 강의를 들을때마다, 강사님에 노고가 느껴지니, 매번 소름이 돋네요. ㅎㅎ 오늘도 강의 잘 듣고 있습니다. 2가지 질문을 드립니다. 1. 테이블 아이디 설계 저는 회원 테이블을 설계할때, 기본키를 '아이디' 로 설정했었습니다. 아이디가 유니크 하기 때문에 기본키로 잡았었는데, 강의에서는 엔티티에서 기본키를 따로 잡으시고(기본키는 자동으로 값을 셋팅) 진행을 하시던데 실무에서도 회원 테이블을 설계하신다면 '회원 아이디' 와는 별개로 기본키 필드를 설계하고 @GereratedValue 로 자동으로 값을 할당하도록 진행하시나요.? 2. hidden 태그(다소 부족한 질문일수도 있습니다.) 강의 내 코드를 보면, 회원에 대한 아이디를 hidden 태그에 노출하는데, 이게 보안상에 문제가 될 여지는 없을 까요.? 물론 서버단에서 회원에 권한을 체크한다면 문제가 되지 않는다고는 생각하지만, 노출된다는게 꺼림칙해서요.....(단순히 제생각입니다.) 아니면 hidden 태그를 사용하지 않고, 구현하는 방법이 따로 있을까요.?

  • JPA
  • 웹앱
  • spring
  • java
  • spring-boot
햇병아리 댓글 1 좋아요 0 조회수 233

엔티티에서 @GeneratedValue에 관한 질문입니다!

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하세요 항상 좋은 강의에 항상 감사하고 있습니다! 다름이 아니라 JPA를 통해서 디비를 생성하지 않고 이미 따로 MySQL로 만든 디비를 객체에 매핑만 하여 사용하려고 하는데요! 1. 보통 이렇게 하는게 일반적인가요? 2. 이미 pk로 순서대로 1, 2, 3 ... 을 맥인 상황에서 엔티티와 매핑하고 그 다음 jpa 를 통해 insert를 하게 되면 가장 마지막 id값을 읽고 그다음 자동으로 이어서 +1 을 하게 되주나요? 질문이 너무 두서가 없네요 ㅠㅠ 예를 들어 이미 기존 member라는 테이블에 (pk로 id 컬럼) 1 memberA 20 서울 2 memberB 19 울산 이런 상황에 엔티티로 매핑하고 증가시키면 자동으로 id는 3부터 이어서 시작이 되는걸까요?

  • java
  • spring
  • spring-boot
  • 웹앱
  • JPA
이상진 댓글 3 좋아요 0 조회수 297

운영 db 와 테스트 db

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

운영중인 db 가 중요하기 때문에, 로컬에서 테스트 db 를 h2 로 설정해서 엔터티 정의후 테이블 생성하고, 생성한 테스트 db 에 대해 dao 를 작성하고, 엔터티 코드 및 dao 코드의 올바른 작성 확인 후 운영 반영을 하고 싶습니다. 실제 h2 를 테스트 db 로 해서 상기방식으로 개발하시나요? 개발서버 환경이어도 임의로 테이블은 만드는건 안되기 때문에 로컬 개발환경에서 개발하는 방식에 대해 궁금해서 여쭤봅니다.

  • java
  • JPA
보나마나 댓글 1 좋아요 0 조회수 419

인기 태그

인프런 TOP Writers

주간 인기글