작성
·
477
·
수정됨
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
안녕하세요.
jar빌드도 되고 다 member테이블도 생겼습니다. 그런데 마지막 단계에서 계속 이런 오류가 뜨면서 쿼리파라미터 로그는 확인할 수 없는데요, 어느 부분이 잘못되었는지 모르겠습니다ㅠㅠ
제가 적은 코드입니다 (Junit5로 진행했습니다)
package jpabook.jpashop;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.Rollback;
import org.springframework.transaction.annotation.Transactional;
import static org.junit.jupiter.api.Assertions.*;
@SpringBootTest
public class MemberRepositoryTest {
@Autowired
MemberRepository memberRepository;
@Test
@Transactional // test에 있으면 test 끝난 뒤 바로 롤백함 -> 테스트 조회 불가능
@Rollback(false) // 롤백 안되게!
public void testMember() throws Exception {
// given
Member member = new Member();
member.setUsername("memberA");
// when
Long saveId = memberRepository.save(member);
Member findMember = memberRepository.find(saveId);
// then
assertEquals(findMember.getId(), member.getId());
assertEquals(findMember.getUsername(), member.getUsername());
assertEquals(findMember, member); // 같은 트랜잭션 안에서는 영속성 콘텍스트가 같음 => id가 같으면 같은 엔티티로 식별함
System.out.println("findmember == member: " + (findMember == member));
}
}
spring:
datasource:
url: jdbc:h2:tcp://localhost/~/jpashop
username: sa
password:
driver-class-name: org.h2.Driver
jpa:
hibernate:
ddl-auto: create #application 실행 시점에 기존에 있으면 drop하고 없으면 자동으로 테이블 생성
properties:
hibernate:
# show_sql: true #sysout으로 확인 -> logger로 확인할 것이므로 생략하자!
format_sql: true
logging:
level:
org.hibernate.SQL: debug #logger로 확인: hibernate가 생성하는 모든 sql문이 debug로 확인가능
org.hibernate.type: trace #쿼리 파라미터 로그 남기기
감사합니다!
답변 2
0
안녕하세요. s_971001님, 공식 서포터즈 OMG입니다.
스프링 부트의 버전을 몇으로 하셨을까요?
2.x대와 3.x대의 로깅 설정이 다르니 확인해주세요 😀
Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 관련
자바9부터 발생할 수 있는 메시지 이며 실행에 영향이 가서 오류가 발생하는 메시지는 아닙니다.
해결방안은 아래 링크의 제 답변과 AI인턴 답변을 참고하여 확인 부탁드립니다 😀
https://www.inflearn.com/questions/917150/openjdk-64-bit-server-vm-warning
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
s_971001님, Java HotSpot 에러가 발생하고 쿼리 파라미터 로그를 확인할 수 없다는 문제를 겪고 계시군요. 해당 문제와 유사한 상황을 겪었던 다른 수강생의 질문과 그에 대한 답변이 도움이 될 수 있을 것 같습니다. application.yml 설정과 관련하여 H2 데이터베이스 접속이나 JPA 설정에 문제가 있을 수 있으니, 아래의 링크로 접속하여 유사한 사례의 해결 방법을 확인해 보시길 권장드립니다.
각 링크를 통해 비슷한 문제를 겪었던 다른 수강생의 상황과 해결 방안을 살펴보시고, 설정 파일을 다시 한 번 확인해 보시면 좋을 것 같습니다. 도움이 필요하시면 해당 질문에 추가적으로 댓글을 달아주시면 강사님이나 다른 수강생들이 더 자세한 도움을 제공해드릴 것입니다.
도움이 되시길 바랍니다.
안녕하세요 ㅠㅠ 로깅 설정을 적어주신 대로 바꿨는데 로그는 남습니다! 다만 ㅠㅠ HotSpot 메시지는 위치만 바뀌었을 뿐 여전히 뜹니다..!