묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
member_seq 테이블이 생성되는 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]h2 대신에 로컬에 설치되어 있는 mysql 로 예제를 따라하고 있습니다. testMember() 를 실행하고 생성된 테이블을 확인하니, member, member_seq 두 테이블이 생성이 되었습니다. 출력된 sql 문에도 두 테이블을 생성하고 업데이트하는 sql문이 포함이 되어있습니다. member_seq 테이블은 왜 생성되는 것인가요 ??
-
해결됨스프링 시큐리티
4-2 강의에서 소스 확인 부탁드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 4-2 강의를 보고 있는데 해당 이전 강의에서는 authenticationEntryPoint, LoginUrlAuthenticationEntryPoint, FormAccessDeniedHandler 에 대한 설명 없었는데 4-2 강의에서는 소스에 해당 내용으로 바뀌어 있습니다. 누락된 것인지 아니면 제가 못 찾는 것인지 확인 부탁드립니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2 DB와 연동이 안됩니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]MemberMemberRepositoryMemberRepositoryapplication.ymlbuild.gradleh2 창home에 있는 폴더와 같이 설정을 했는데요 JpaShopApplication을 동작시켜보면와같이 커리가 나오긴합니다. 하지만이렇게 멤버가 뜨지를 않는데 어디가 오류인걸까요?ㅜㅜ
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
강사님 프로젝트 진행중인데
혹시 EC2 관련해서 배포중인데 이거관련해서도 여쭤봐도될까요..? 배포까지 마무리하였는데, EC2의 퍼블릭IPv4:8080 으로 하면 연결거부가 떠서요.. 이거 관련해서도 메일로 여쭤봐도되나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
간단한 질문입니다만..
회원 웹 기능-등록 강의에 나오는 부분중에package spring.lecture0.controller; import lombok.Getter; import lombok.Setter; //웹 등록 화면에서 데이터를 전달 받을 폼 객체 @Getter @Setter public class MemberForm { private String name; }이 코드가 MemberController에서 @PostMapping의 create메소드에 파라미터로 사용되던데 그러면 저 MemberForm은 혹시 DTO(Data Transfer Object)인가요?혹시 DTO가 맞다면 DTO객체들만 따로 디렉토리를 생성해도 괜찮나요?..감사합니다
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요! 생성자와 필드의 타입에 관련하여 질문있습니다
위의 코드에서 jpa 때문에 protected로 기본 생성자를 만들어주어야 한다고 하셨는데, 이게 무슨 의미인가요??왜 id는 Long 타입인데, userId는 long타입인가요?왜 id = null;로 해준건가요? sql ddl문은 작성해주지않고 자바 class만 작성해준 후 jpa 어노테이션을 붙여주면 db에 자동으로 테이블 생성이 안되나요? 입문자인데 눈높이에 맞춰 잘 설명해주시는 덕분에 재밌게 배우고 있습니다😄
-
미해결실전! 스프링 데이터 JPA
DTO 조회하기 n+1오류
강의 내용은 간단하게 설명해주셧는데1.OneToMany의 경우나 n+1문제가 발생할 경우는 어떻게 해결하나요?2.강의에서는 join만 썻는데 fetch join은 불가능한가요?
-
미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
안녕하세요 section9 주문내역 검색에서 자꾸 오류가나네요
수업내용 V1,V2 와는 별개로 제가 V3로 다시 만들어서 수업을 따라서 진행중인데, 주문내역에서 검색을 하면 저런 오류창이 뜨네요..ㅠ제 소스파일을 압축해서 구글링크로 걸어두겠습니다 한번만 봐주시면 감사할것같습니다!! https://drive.google.com/file/d/1f6M5tRzjpVYh6lloJEcaiquiP2y_DI6w/view?usp=sharing
-
미해결스프링 부트 - 핵심 원리와 활용
Java 파일이 생성이 안됩니다..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]build.gradle 파일 오픈을 하면실행 로그 창에Unexpected lock protocol found in lock file. Expected 3, found 0.해당 오류문구가 뜨고이후, hello 패키지 밑에 hello.servlet 패키지 파일 안에 java 클래스 파일이 생성이 안되는데 어디서 잘못된 것인지 모르겠습니다..강의자료 소스파일을 다시 다운받아서 실행했는데도 오류는 계속 발생하는 상황입니다..추가로, 소스파일 내부에 강의 내용에서는 build 폴더가 따로 있는데, 제가 받은 강의자료 소스파일에는 build 파일이 없습니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
13강에서 막혀서 문의드립니다
13강에서 이러한 오류가 떠서 해결해보려고 이것저것 시도해봤는데 영 안되서 문의드립니다 ㅠ해결방법에 대해 도움주시면 감사하겠습니다
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberServiceIntegrationTest 회원가입,중복회원가입 실패(bad SQL grammar)
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]문제에 대해 간략하게 이야기하자면 JdbcTemplateMemberRepository를 작성 후, 통합Test를 돌리는데 회원가입과,중복회원가입에서 오류가 납니다.아래는 해당 오류코드내용입니다.제가 오류코드를 읽어본 결과 이해한 바로는 회원가입 통합test소스에서 Join()에서 문제가 생겼고 MemberService에 join함수를 보니까 validateDuplicateMember()에서 findByName()에서 문제가 생겼습니다. jdbc템플린 레포지토리의 findByName()은 쿼리에서 뒤에 name을 필수로 받아야되는데 name이 안받아져서 생기는 문제같습니다.해당 문제가 발생할 수 있는 부분을 확인했습니다.근데 분명 테스트케이스에서 Member 객체 생성하고 setName을 해주었고 중복검사함수에서 member.getName()을 통해 String을 넘기고 있는데 왜 sql에서 identifier가 제외됬다고 나오는지 모르겠습니다...ㅠ문제가 발생하는 부분의 코드를 아래에 첨부합니다.결론)제가 생각한 부분에서의 오류가 맞는지 아닌지맞다면 어떤부분에서 잘못이 된건지ex) JdbcTemplateMemberRepo.findByName() 문법오류아니라면 어떤부분이 잘못된건지 궁금합니다...!
-
미해결스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션
Fetch join 테스트에서
join을 사용하면 주체인 Transaction만 select 되고 account가 나중에 따로 조회되는 말도 안되는 쿼리도 n+1의 경우인걸까요??
-
미해결토비의 스프링 부트 - 이해와 원리
초기 설정에서 질문 있습니다
제가 community version을 사용 중이라 이니셜라이져에서 파일 만들어서 오픈 하는 방식으로 프로젝트 생성을 했는데 404에러도 나오지 않고 컨트롤러를 만들어도 우측 상단에 런버튼이 작동 하지 않습니다. 혹시 다른 설정해야 할 부분이 있을까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
실행 오류 관련 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]사진과 같이 설정을 한 후에 실행을 파일을 열었는데 계속해서 파일들이 빨간줄로 표시가 됩니다.실행 중지 시 'Execution failed for task ':HelloSpringApplication.main()'.> Build cancelled while executing task ':HelloSpringApplication.main()''오류가 뜹니다 bulid.gradle 설정은plugins {id 'java'id 'org.springframework.boot' version '2.7.13'id 'io.spring.dependency-management' version '1.0.15.RELEASE'}group = 'hello'version = '0.0.1-SNAPSHOT'java {sourceCompatibility = '11'}repositories {mavenCentral()}dependencies {implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'implementation 'org.springframework.boot:spring-boot-starter-web'testImplementation 'org.springframework.boot:spring-boot-starter-test'}tasks.named('test') {useJUnitPlatform()}이렇습니다!
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품등록 클릭시 WhiteLabel 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]상품등록 코드를 작성했고 전부 알맞게 친것 같은데 상품등록 버튼을 누르면 위 Whitelabel Page가 뜹니다 이유를 알 수 있을까요?
-
해결됨실전! 스프링 데이터 JPA
기초적인 질문입니다...
public void changeTeam(Team team) { this.team = team; team.getMembers().add(this);}강의를 들었을 때 양방향 연관관계에서는 한쪽에만 작업을 해주면 안되고 양쪽을 작업해줘야 하기 때문에 위와 같은 코드를 작성한다고 알고 있습니다.위 코드에서 팀 변경으로 인해 새로운 팀에 member를 추가해주고 기존의 팀의 list에서 제거해주는 작업은 별도로 진행하지 않아도 되는지 궁금하여 질문 남깁니다...한쪽에 설정해주면 JPA가 알아서 양방향 연관관계에 대해서 정리해주는건가 싶기도 하고 잘모르겠어서 질문 드립니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JapMemberRepository 클래스에서 메서드의 리턴값에 관한 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]@Overridepublic Member save(Member member) {em.persist(member); return member;}여기에서 스펙을 맞추기 위해 return값을 넣어준다고 하셨는데요, 이게 무슨 의미인지 궁금합니다!혼자 코딩을 하게 될 경우 return값이 필요한지, 어떤 값으로 리턴해야 하는지 판단하려면 어떻게 해야 하나요?
-
미해결실전! 스프링 데이터 JPA
JOIN 관련해서 질문드릴게 있어요!
안녕하세요. 수업 듣다가 갑자기헷갈려서 여쭤볼게 생겼어요.@Query("select new study.datajpa.dto.MemberDto(m.id, m.username, t.name) " + "from Member m join m.team t")위 같은 쿼리에서 Member entity에 t.name이란게 없으니 저는 fetch join을 써야 한다고 처음에 생각했거든요.일반 join은 조회시 join 대상이 되는 entity는 조회 대상이 되는 칼럼에서 불러지지 않고, 불러진다면, 따로 쿼리가 동작하기 떄문에 N+1 이 발생하는 걸로 알고있었는데, 수업에서 log보니깐 select 쿼리에서 t.name 도 같이 한 쿼리에 조회되는게 보여서 갑자기.. 멍해지더라구요 ㅋㅋ;;;저는 member 따로 1번, team따로 1번 돌거라고 예상했었는데... 제가 놓친 부분이 있을까요?? 답변 미리 감사드리겠습니다.
-
해결됨실전! 스프링 데이터 JPA
isNew() 메서드의 구현체 문의
안녕하세요! isNew() 메서드의 구현체가 정확히 무엇인지 확인하고 싶어 질문드립니다!SimpleJpaRepository의 save() 메서드 내부에서 isNew() 메서드가 호출될 때,if (entityInformation.isNew(entity)) {처럼 호출되는데요, 이 때 isNew 가 org.springframework.data.repository.core.EntityInformation 인터페이스의 추상 메서드인 것을 확인했습니다.그런데 이 isNew 의 구현체가 여러개라서 하나씩 확인해보니 강의에서 설명해주신 내용이 추상 클래스 org.springframework.data.repository.core.support.AbstractEntityInformation 에 구현된 내용과 같더라고요.// AbstractEntityInformation.isNew() public boolean isNew(T entity) { ID id = getId(entity); Class<ID> idType = getIdType(); if (!idType.isPrimitive()) { return id == null; } if (id instanceof Number) { return ((Number) id).longValue() == 0L; } throw new IllegalArgumentException(String.format("Unsupported primitive id type %s", idType)); }그런데 AbstractEntityInformation 역시 추상 클래스이다 보니 정확한 구현체를 찾기가 힘든 상태입니다. 질문) SimpleJpaRepository의 save() 내부에서 사용되는 isNew() 의 구현체는 정확히 어떤 클래스인가요? 또, 이러한 구현체가 정확히 무엇인지 알 수 있는 방법이 있을까요?확인해주셔서 감사합니다. :D
-
미해결스프링 시큐리티 OAuth2
프론트와 백으로 나누어진 형태에선, Authorization Code Grant Type을 어떻게 구현하나요?
안녕하세요 강의 잘 듣고있습니다.저는 강의에서 사용하고있는 Spring + Thymeleaf 구조를 사용하고 있지않습니다.spring + react와 같이 백엔드와 프론트로 나누어져 있고 rest api방식으로 통신하는 구조입니다. 구글링해본 결과. rest api 구조에서 소셜로그인을 시도할경우.대부분 소셜로그인을 전부 프론트에서만 처리하고있었습니다.즉, Implict Grant Type이죠.하지만 강의에서 강사님께서 이 방법은 Deprecated되었으며 바람직하지 않다고 하셨습니다. 그래서 저는 Authorization Code Grant Type으로 인증을 받으려 시도했습니다만.구글링을 해봐도 죄다 Implict 방식만나오고 Code방식은 나오지 않아 어려움을 겪고있습니다. 그냥 모바일앱이나 react와 같은 프론트앱에서는 Implicit Type으로 하는게 최선일까요? 이 강의의 다른 질문글들을 읽어보았는데도 정확한 해결방법은 제시되어 있지 않는것 같아재차 질문글을 작성하게 되었습니다. 읽어주셔서 감사합니다.