[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요, 다른 MEMBER테이블이 생성되지 않는다는 게시글을 읽고, H2경로 설정에 대한 글 전체 다 읽었지만 여전히 testMember()메서드는 통과하지만 MEMBER테이블이 생성되지 않습니다.... 참고로 로그에 CREATE TABLE( ... )은 정상적으로 나오네요. application.yaml은 다른 강의듣는 분 자료 검색해 참고해서 그대로 복붙했습니다(띄어쓰기 문제ㄴㄴ) jpashop의 경로는 C:에 있습니다..... 추가) 내pc>다운로드 의 경로에 있는 jpashop.trace, jpashop.mv 파일을 삭제 후 이렇게 연결했더니 성공했지만 testMember()메서드가 통과하지 못하네요..... 오류메세지는 이렇게 납니다. org.h2.jdbc.JdbcSQLNonTransientConnectionException: Unsupported database file version or invalid file header in file "C:/Users/User/jpashop.mv.db" [90048-214] 제가 궁금한 점은 왜 h2.bat실행시 바로 꺼지는가 application.yaml과 h2 console의 경로만 맞춰주면 강의를 따라하지 않아도 된다고 하는데 맞는가 jpashop의 경로와 h2의 경로를 맞춰야하는가...??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] p6Spy를 사용하는 중 로그가 두번 찍히는 경우가 생겼습니다. 현재 mariaDB를 사용중이며, jpa: properties: hibernate: show-sql: 'false' format_sql: 'true' 설정은 이렇게 해줬습니다. 혹시 왜 두번찍히는 건지 알 수 있을까? gradle에 p6spy 추가해주었습니다. implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0'
@Test public void 회원가입(){ Member member = new Member(); member.setName("memberA"); Long savedMemberId = memberService.join(member); Member findMember = memberService.findOne(savedMemberId); assertThat(member).isEqualTo(findMember); } 근데 제가 em.find() 동작이 먼저 영속성 컨텍스트에서 찾아보고 있으면 그걸 return. 없으면 DB에 쿼리 날려서 가져온 다음에 return.(쓰기지연은 잠깐 생각 안하고) 로 알고 있는데, 그렇다면 코드상 멤버 생성하고, join해서 쿼리가 쌓이고, 그 다음 findOne해서 가져오는데, 저게 결국은 em.find() 잖아요. 그러면 이미 영속성 컨텍스트에 id가 같은 게 있기 때문에 그걸 반환하잖아요. 그래야 할 것 같은데 select m1_0.member_id, m1_ 0.city , m1_0.street, m1_0.zipcode, m1_ 0.name from member m1_0 where m1_ 0.name =? 이렇게 로그로 나가요. 그래서 아, isEqualTo니까 혹시 막 이름같은 거 참조해서 가져오는 건가? 했는데 isSameAs 해봐도 똑같아요. 왜 하필 name으로 조회하는지도 모르겠어요. em.find()쪽이 실행된 것은 분명해요.
쭉 수업대로 작업해보고 학교 프로젝트 수업에 적용 시켜보려고 다시 켰는데 build.gradle.kts파일이 오류로 나오고 코드를 열면 상단에 코드 분석을 사용할 수 없습니다(스크립트 구성이 로드되지 않음.)이라는 오류가 나옵니다 스크립트 구성 로드를 누르거나 코끼리모양을 누르거나 gradle을 다시 빌드하면 정상인듯한데 문제는 다른 팀원들도 동일한 오류에 저처럼 해결이 안돼서 혹시 문제를 해결할 방법이 있을까 싶어 여쭤봅니다
서블릿 초기화를 실행하면 아래와 같은 오류가 발생해 8005포트를 종료 후 다시 실행해도 똑같은 오류가 발생합니다. 혹시 몰라 8080포트도 강제종료하려고 강의에서 알려주신대로 명령어를 입력하면 위와 같이 떠서 10028을 종료해준 뒤에 다시 실행해도 같은 오류가 발생합니다. 이 문제는 어떻게 해결할 수 있을까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 찾아도 안나오는데 CamelCaseToUnderscoresNamingStrategy 이걸로 바뀐 것 같네요.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 저도 뭐 저런 거 할 때 그냥 1depth 카테고리 테이블, 2depth 카테고리 테이블 이렇게 있는 거 아니야? 이렇게 생각했는데, 요런 식으로 그러니까, 아마도 내 depth, 부모 id, 그 정도로 해서 가져오는 듯 싶네요. 대충 내 depth, 부모_id, 카테고리네임 이 정도로 해서 한 카테고리 테이블에 다 때려넣는 식 인거 같아요. 그러니까 예를 들어 id를 통해 카테고리를 가져오게 되면, 거기에 부모_id, 또 나의 자식들은 내 id를 가지고 있을 테니 parent도 가져올 수 있고, child 들도 그냥 cc.parent_id = c.category_id 해서 가져올 수 있는..
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] Integer가 객체라 null이나 그런 것에서 비교적 안전하다고 배웠었던거 같은데.. int로 한 이유가 있을까요?
안녕하세요 현재 AjaxAuthenticationFilter에 대해 수강 시작을 하고 있는 중입니다. 웹사이트에서 from 방식과 ajax 방식은 동기와 비동기 차이인 것으로 배웠습니다! 또한, 공부해보니 form 방식은 페이지가 이동시 파라미터 및 자원들이 모두 이동하여 리소스가 더 많이 든다라는 점이 차이점인 것 같습니다.! 여기서 갑자기 든 의문점으로.. 주로 사이트들이 회원가입 또는 로그인을 눌렀을 때 해당 로그인 페이지가 따로 있는 것이 일반적으로 보이는데 Ajax 로그인으로 활용한 대표적 사이트의 reference가 있을까요..? Ajax 로그인의 장점으로 비동기, 리소스 낭비 감소 이외의 다른 추가적 장점이 있을까요?
안녕하세요. 감사히 영상을 보며 공부하고 있습니다. 다름이 아니라 스프링 JdbcTemplate 적용 후 통합테스트를 진행해보는데, 회원가입과 중복_회원_예외 테스트 메소드 개별 실행시 정상적으로 작동, 클래스 테스트 실행시 중복_회원_예외 케이스 통과, 회원가입 케이스에서 에러가 발생하여 로그를 확인해보니, 회원가입 테스트 실행 전, memberService.findMembers()를 통해 확인해본 결과, 중복_회원_예외 테스트케이스에서 put 하는 member 객체가 확인이 됩니다. Spring Boot와 JUnit 5를 사용하여 작성한 테스트 클래스의 경우, 테스트 메소드는 일반적으로 순차적으로 실행되지 않습니다. 대신, 각 테스트 메소드는 독립적으로 실행됩니다. 라고 확인이 되더라구요. 병렬적으로 실행되나, 컨텍스트가 분리되는것으로 보이는데, db는 같은걸 쓰다보니 에러가 발생하는게 아닐까 싶었습니다. 그런데 영상에서는 통합테스트에서 이러한 에러가 발생하지 않는데, 어떤 차이때문일까요? *해당 코드 포함한 commit log link
안녕하세요. 강의 잘 보고 있습니다! 다른 분 질문에 궁금한 것이 해소되지 않아 질문드립니다. https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-JPA-%ED%99%9C%EC%9A%A9-1&unitId=24297&category=questionDetail&q=30892&tab=community 정적 팩토리 메소드 사용 이유중에 static 메모리에 올라가기때문에 새로운 객체를 생성하지 않는 장점이 있는 거라고 알고 있습니다. 이 예제의 경우 static을 빼도 JPA가 엔티티로 관리하면서 어차피 사용할 수 있는 부분아닌가요..? 라는 질문에서 강사님께서는 static을 빼보면 이해될 거라고 답변하셨습니다. 제가 생각하기로는 정적 팩토리 메서드 안에서 생성자를 통해 인스턴스를 생성하는 것은 똑같아 보이고, 호출할 때 new가 아닌 Order.createOrder()로 호출하는 것 외에는 차이점을 못 느꼈습니다. 조금 더 상세한 가르침을 주시면 감사하겠습니다!