묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨
[Spring JPA] .save() 대해 문의 드립니다.
4개의 테이블 (a, b, c, d)각각 1:N 관계 입니다. a-b 1:N, b-c 1:N , c-d 1:N (fetchType = LAZY)네개의 테이블에 대한 정보를 fetchjoin을 통해서List<a> 객체로 리턴 받았습니다. List<a> 객체를 루프를 돌면서 a 객체 값에 특정 필드를 변경하고 .save()를 호출 했더니update 쿼리만 나가는게 아니고1) a 테이블의 id(pk)값의 조건 select 쿼리 1회 2) b 테이블 조건절에는 id(FK) select 쿼리 1회3) 위에서 값이 조회될경우 c테이블에 b테이블 결과 id(PK) 값들로 IN 쿼리 1회4) d 테이블 3)과 동일한 구조로 IN쿼리 1회 5) 최종 udpate 쿼리 호출이런식의마치 해당 a 객체 전체 데이터(하위 포함)를 조회 했을떄 날라가는 select쿼리가 모두 호출 되었습니다. 예)List<a> result = aRepository.getFetchJoinQuery();result.stream().forEach(a -> { a.setName("HOON"); aRepository.save(a); -> 해당 시점 위 쿼리 호출됨 logger.info("xxxxxx");}); 디버깅으로 확인한 내용이구요,혹시나 디버깅 모드에서 데이터 확인중에 날아간 쿼리인가 해서 디버깅없이 RUN으로실행했을때도 동일하게 쿼리가 발생하는것이 확인 되었습니다.. save() 사용시에 select 쿼리 발생은 어쩔수 없는걸까요?어쩔수 없다면 save() 메서드 대신 그냥 JPQL로 update 쿼리를 작성해서 사용하는 방법뿐이 없을까요?궁금합니다!
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
섹션 2.API Gateway Service 중 Spring Cloud Gateway-프로젝트 생성 부분 중 수행이 안됩니다.
강의와 똑같이 수행했다고 생각은 하는데, http://localhost:8081/first-service/welcome과 localhost:8082/second-service/welcome 를 개별적으로 호출했을 떄는 문제 없이 호출됩니다.그런데 http://localhost:8000/first-service/welcome을 호출하면 404로 문구가 나오네요.강의를 계속 봤는데 다른 부분 찾기가 어렵네요. 어느 부분에서 오류가 났는지 확인이 가능할까요? firstController.java import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/first-service") public class FirstServiceController { /* RequestMapping과 GetMapping이 조합이 되어서 호출됨 */ @GetMapping("/welcome") public String welcome(){ return "Welcome to the First service"; } } secondController.java@RestController @RequestMapping("/second-service") public class SecondServiceController { /* RequestMapping과 GetMapping이 조합이 되어서 호출됨 */ @GetMapping("/welcome") public String welcome(){ return "Welcome to the Second service"; } } apigateway-service 프로젝트의 pom.xml<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.2</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>apigateway-service</artifactId> <version>0.0.1-SNAPSHOT</version> <name>apigateway-service</name> <description>Demo project for Spring Boot</description> <properties> <java.version>17</java.version> <spring-cloud.version>2023.0.0</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway-mvc</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build> </project> apigateway-service 프로젝트의 application.ymlserver: port: 8000 eureka: client: register-with-eureka: false fetch-registry: false service-url: defaultZone : http://localhost:8761/eureka Spring: application: name: apigateway-service cloud: gateway: routes: - id: first-service url: http://localhost:8081/ predicates: - Path=/first-service/** - id: second-service url: http://localhost:8082/ predicates: - Path=/second-service/**
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
참조가 없으므로 UML도 잘못됨
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]섹션4. 엔티티 매핑 -44p"참조가 없으므로 UML도 잘못됨"UML은 찾아보니 특정한 다이어그램들을 나타내는 것 같은데, 참조가 없는것과 UML은 무슨 연관이 있으며, 이로인해 UML이 잘못되었다는게 어떤 의미인지 이해가 되지 않습니다.
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
테스트 recoverException_fail메서드 UnexpectedRollbackException
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요.테스트케이스 recoverException_fail 를 실행했을때 테스트가 실패하여 질문 남깁니다. 해당 테스트 케이스를 실행하면 실패 로그가 나오고java.lang.Exception: exception just for purpose of providing stack trace at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.markRollbackOnly(JdbcResourceLocalTransactionCoordinatorImpl.java:310) ~[hibernate-core-6.3.1.Final.jar:6.3.1.Final] java.lang.AssertionError: Expecting actual throwable to be an instance of: org.springframework.transaction.UnexpectedRollbackExceptionbut was: java.lang.RuntimeException at hello.springtx.propagation.LogRepository.save(LogRepository.java:26) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ...(108 remaining lines not displayed - this can be changed with Assertions.setMaxStackTraceElementsDisplayed) at hello.springtx.propagation.MemberServiceTest.recoverException_fail(MemberServiceTest.java:135) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) UnexpectedRollbackException 을 기대하지만 RuntimeException가 나온다고 메세지가 나오는데 설명 해주신 대로면 UnexpectedRollbackException 예외가 나오는게 맞는거 아닌가요..?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
### 강사님 꼭 좀 답변 부탁드립니다. ###
몇주전에 MSA 후속 강의에 대해 문의드렸습니다. 이벤트 소싱, 보상 트랜잭션 등 후속 강의 계획이 있으신건가요?계획이 있고, 로드맵을 알려주시면 기다릴텐데.. 아무 소식이 없이 계속 미루어지고 있습니다. 저와 같이 해당 강의를 이미 들으셨던 분, 새로 들으시는 분들 모두가 궁금해하고 듣고싶은 강의라고 생각됩니다.후속 강의가 없다면, 해당 강의의 내용만으로는 사실 실무에서는 사용하기 어렵다고 생각됩니다.axon framework 를 별도로 공부해서 어떻게 할지 감은 오지만, 그래도 강사님이 실무에서 사용했던 방법을 공유받고 싶은 마음입니다. 꼭 좀 계획을 공유부탁드립니다.혹시라도 후속 강의에 대한 계획이 없는거여도 말씀 좀 부탁드립니다.
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
배포 준비 과정에서 막혀 질문 드립니다.
호돌맨의 요절복통 개발쇼시즌2 배포 준비(빌드) 강의를 듣고 있는데, 계속 오류가 생겨 질문 올립니다. 우선 ./gradlew clean으로 삭제한 뒤./gradlew build를 실행하면 이런 식으로 한글이 깨졌다는 에러가 나옵니다. 해결하고자 했던 방안세팅 바꾸기파일 인코딩 바꾸기Help - EditCustom Vm Options이런 방법을 써 봤으나 다 되지 않았고 이 코드를 build.gradle에 넣는 방식으로 해결했더니build 후 libs 폴더가 생기지 않습니다. 그래서 이 부분을 true로 바꿔주면 plain snapshot만 생깁니다. 어떻게 해결해야 하나요? 밑 코드는 build.gradle 파일입니다.plugins { id 'java' id 'org.springframework.boot' version '2.5.9' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id "org.asciidoctor.jvm.convert" version "3.3.2" } group = 'com.reheat' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '11' } configurations { compileOnly { extendsFrom annotationProcessor } asciidoctorExt } repositories { mavenCentral() } ext { asciidocVersion = "2.0.6.RELEASE" snippetsDir = file('build/generated-snippets') } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-validation' testImplementation 'org.junit.jupiter:junit-jupiter:5.8.1' testImplementation 'junit:junit:4.13.1' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' //REST Docs asciidoctorExt "org.springframework.restdocs:spring-restdocs-asciidoctor:${asciidocVersion}" testImplementation "org.springframework.restdocs:spring-restdocs-mockmvc:${asciidocVersion}" } tasks.named('test') { useJUnitPlatform() } test { outputs.dir snippetsDir } asciidoctor { inputs.dir snippetsDir configurations 'asciidoctorExt' dependsOn test } bootJar { enabled = true dependsOn asciidoctor copy { from asciidoctor.outputDir into "src/main/resources/static/docs" } } jar{ enabled = true } tasks.withType(JavaCompile){ options.encoding = "UTF-8" }
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
static not allowed here에러
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 등록 API를 할 때까지는 static에 에러가 없었는데수정 API를 할 때에 static 부분 4군데에 다 해당 에러가 뜹니다.static이 있는 상태로는 해당 에러로 작동하지 않고static을 지우고 작동을 시키면 작동을 하고 포스트맨에서 수정도 가능합니다.여기서 궁금한 점은1. 왜 이런 상황이 발생하는 지2. static을 지우고 그냥 진행을 시켜도 문제가 없는지에 대해서 알고 싶습니다.
-
해결됨실전! 스프링 데이터 JPA
@Query문
jpashop 프로젝트에서 OrderRepository를 criteria 부분은 스프링데이터jpa로 바꿔보려하는데 @Query(“select o from Order o join o.member m)List<Order> findByMemberName(); 이렇게 작성한다면 Order를 멤버 이름으로 조회 할 수 있을까요??
-
미해결Practical Testing: 실용적인 테스트 가이드
테스트를 위한 테스트쿼리 작성시 궁금증
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. 현재 자바 백엔드 개발자입니다. 현재 마이바티스로 테스트 코드를 짜려고하는데 검증할 쿼리는 어떤 테이블의 특정 버전의 가장 높은 버전을 가져오는 쿼리로 그 특정버전으로 정렬을 시키고 top(1)을 사용해서 가져오게하는 쿼리로 짜놓은 상태입니다. 그러면 이걸 테스트를 하려고하면 셀렉트 쿼리를 하나 더짜서 그 특정버전에 max()를 사용해서 값으로 가져온 후 검증을 하는 방법이 떠오르는데요 그러면 이런 또하나의 쿼리가 생기는데 또하나의 쿼리가 잘 못 된다면 그 테스트의 경우가 잘못되는것을 말하는데 이런 상황에서 어떻게 하셨는지 궁금합니다
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
기본 키 매핑 35:18초
====[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네[질문 내용]여기에 질문 내용을 남겨주세요.기본 키 매핑 35:29초member1,2,3이 들어가서 시퀀스가 3개인데 왜 현재값이 51인가요?
-
해결됨실전! 스프링 데이터 JPA
Setter 대신 생성자 방식과 @Builder 방식의 선호도
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]강의를 듣다보면 편의를 위해 setter를 이용해 데이터를 수정하는데 저는 실제로 사용하지 않는 것이 좋다고 들어 생성자를 따로 생성해 강의를 진행하고 있습니다. 그러다보니 생성자 개수가 늘어나 관리? 하기 어려워져 다른 방법을 찾아보던 중 @Builder를 통해 처리하는 방법을 알게되었는데 실제 프로젝트에서는 어떤 방법을 이용하는 것이 좋은건지 궁금합니다
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
build.gradle에 implementation을 다 추가해서 새로고침까지 마쳤는데 로그가 안떠요 ㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.JPA와 DB 설정, 동작확인 챕터에서 implementation를 추가한 후 MemberRepositoryTest를 실행시키면 27:05와 같이 쿼리 로그가 떠야 하는데 뜨지 않고 Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appendedfindMember == member true이 로그만 뜨는데 원인이 뭔지 잘 모르겠습니다 ㅠㅠ
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
String Key 문제점
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]GeneratedValue 를 도입하고 나서부터 문제가 발생했습니다... GeneratedValue를 도입하지 않으면 잘 작동되지만 String key를 변경하고나서 부터 ERROR: Table "MEMBER" not found; SQL statement:/* insert hellojpa.Member */ insert into Member (id, name) values (null, ?) [42102-200]해당 오류가 자꾸 뜹니다... 그래서 테이블에 저장이 안되요...하이버네이트 버전문제인건가요??create table이됐는데도 생성이 안되는건 커밋이 될때 null이 들어가서 생성이 안되는건가요?? 전채적으로 어떻게 고쳐야할까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
kafka sink 설정 시 테이블 생성이 안됩니다
{ "name": "my-sink-connect", "config": { "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector", "connection.url": "jdbc:mariadb://localhost:3306/mydb", "connection.user": "root", "connection.password": "test1234", "mode": "incrementing", "incrementing.column.name": "id", "auto.create": "true", "auto.evolve": "true", "delete.enabled": "false", "tasks.max": "1", "topic": "my_topic_users", "table.whitelist": "mydb.users" } }confluent-community-connect-7.5.0-zOS confluentinc-kafka-connect-jdbc-10.7.4이렇게 사용중이고 모드를 빼면 에러가 발생하네요커넨터 로그엔 에러가 없어요 [2023-12-14 00:57:25,395] INFO SourceConnectorConfig values: config.action.reload = restart connector.class = io.confluent.connect.jdbc.JdbcSourceConnector errors.log.enable = false errors.log.include.messages = false errors.retry.delay.max.ms = 60000 errors.retry.timeout = 0 errors.tolerance = none exactly.once.support = requested header.converter = null key.converter = null name = my-sink-connect offsets.storage.topic = null predicates = [] tasks.max = 1 topic.creation.groups = [] transaction.boundary = poll transaction.boundary.interval.ms = null transforms = [] value.converter = null (org.apache.kafka.connect.runtime.SourceConnectorConfig:369)[2023-12-14 00:57:25,396] INFO [my-sink-connect|task-0] Validating JDBC URL. (io.confluent.connect.jdbc.dialect.DatabaseDialects:171)[2023-12-14 00:57:25,396] INFO [my-sink-connect|task-0] Validated JDBC URL. (io.confluent.connect.jdbc.dialect.DatabaseDialects:174)[2023-12-14 00:57:25,396] INFO [my-sink-connect|task-0] Using JDBC dialect MySql (io.confluent.connect.jdbc.source.JdbcSourceTask:138)[2023-12-14 00:57:25,396] INFO EnrichedConnectorConfig values: config.action.reload = restart connector.class = io.confluent.connect.jdbc.JdbcSourceConnector errors.log.enable = false errors.log.include.messages = false errors.retry.delay.max.ms = 60000 errors.retry.timeout = 0 errors.tolerance = none exactly.once.support = requested header.converter = null key.converter = null name = my-sink-connect offsets.storage.topic = null predicates = [] tasks.max = 1 topic.creation.groups = [] transaction.boundary = poll transaction.boundary.interval.ms = null transforms = [] value.converter = null (org.apache.kafka.connect.runtime.ConnectorConfig$EnrichedConnectorConfig:369)[2023-12-14 00:57:25,397] INFO [my-sink-connect|task-0] [Producer clientId=connector-producer-my-sink-connect-0] Cluster ID: 61ETmEcJQASp3yeJGdTmPw (org.apache.kafka.clients.Metadata:287)[2023-12-14 00:57:25,413] INFO [my-sink-connect|task-0] Found offset {{table=users}=null, {protocol=1, table=mydb.users}={incrementing=17}} for partition {protocol=1, table=mydb.users} (io.confluent.connect.jdbc.source.JdbcSourceTask:234)[2023-12-14 00:57:25,414] INFO [my-sink-connect|task-0] Started JDBC source task (io.confluent.connect.jdbc.source.JdbcSourceTask:307)[2023-12-14 00:57:25,414] INFO [my-sink-connect|task-0] WorkerSourceTask{id=my-sink-connect-0} Source task finished initialization and start (org.apache.kafka.connect.runtime.AbstractWorkerSourceTask:275)[2023-12-14 00:57:25,414] INFO [my-sink-connect|task-0] Begin using SQL query: SELECT * FROM mydb.`users` WHERE mydb.`users`.`id` > ? ORDER BY mydb.`users`.`id` ASC (io.confluent.connect.jdbc.source.TableQuerier:182)
-
미해결Practical Testing: 실용적인 테스트 가이드
teardown 시 @AfterEach 주의
혹시나 저와 같은 이슈를 만나셨을 분이 있으실까봐 글을 남깁니다.강의 36:36 에서 강사님께서 teardown 을 정의해주실 때 @AfterEach 를 사용해서 매 테스트가 종료될때마다 db 를 깔끔하게 지워주도록 정의해주셨습니다.해당 클래스( ProductServiceTest.class) 에서 실행할 때는 문제가 되지 않고 정상적으로 작동을 합니다.그러나 다른 테스트(ex, OrderServiceTest.class) 에서는 @BeforeEach 를 사용해서 teardown 을 구현했는데 이 때문에 간극이 생겨 전체 테스트 를 돌렸을때 ProductServiceTest.class 에서 에러 가 발생합니다.따라서 @BeforeEach 로 변경하여서 해결할 수 있었습니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
초반 프로젝트 설정 (build 관련)
안녕하세요인텔리제이에서 프로젝트를 open>build>LibraryAppApplication run을 하면 아래 화면에서 더이상 진행되지 않습니다.Started LibraryAppApplication in 3.292 seconds (JVM running for 3.791) 라는 메세지가 마지막에 출력되나좌측에 상태를 보면 '빌드 중'으로 계속 출력되고 있습니다. 추가로 확인해봐야 하는 설정이 있으면 안내 부탁드립니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
해당 강의에서 무한로딩이 걸려요
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용] 위와 같이 무한 로딩이 걸립니다...해당 강의 영상만 그런 것 같아요인터넷환경 문제 없고 강력새로고침을 해도 동일하네요..
-
미해결실전! Querydsl
OrderRepository 변환
기존 jpashop에서 사용했던 MemberRepository는 querydsl을 사용하여 변환하는 과정을 강의를 보며 공부하였는데, OrderRepository에서 findAllByString와 findAllByCriteria를 querydsl을 이용하여 변환하는 강의는 어디를 보면 되나요??
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
서포터즈님들 혹시 구글 드라이브를 통해 파일을 업로드 하면 좀 봐주실 수 있나요
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]설정에서 계속 막혀서 진행이 안 됩니다. 자주 하는 질문 파일에 나온 방법대로 올리면 확인 해주실 수 있나요
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
@Transactional는 프록시 객체를 스프링 빈으로 등록까지 해주나요?
질문 있습니다.강의 자료를 보면 "@Transactional 애노테이션이 특정 클래스나 메서드에 하나라도 있으면 트랜잭션 AOP는 프록시를 만들어서 스프링 컨테이너에 등록한다" 라고 되어 있습니다. (11페이지 마지막줄) 그런데 서포터님의 답변 중 강의 자료와 조금 다르게 해석되는 말씀이 있어 질문 드립니다. 저는 @Transactiona이 있으면 생성과 스프링 빈 등록까지 해주는 것으로 이해했는데, 그게 아니라 프록시 객체 생성까지만 하고, 스프링 빈 등록은 따로 해줘야 하는 건가요??