inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

안녕하세요 이것이 내부호출 예제가 맞는지 궁금합니다.

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] // 인증 번호 확인 @Transactional public void confirmAuthenticationInfo(AuthenticationRequest.Confirm request){ MemberCertificationHistory history = findById... // 엔티티 조회 ... validateExpiration(history); ... } // 만료 일시 검증 @Transactional private void validateExpiration(MemberCertificationHistory history){ if(history.isExpired()){ processExpiration(history); // 만료 처리 . 트랜잭션 분리 throw new ServerException("만료됨"...); } } // 인증 정보 만료 처리 @Transactional(propagation = Propagation.REQUIRES_NEW) private void processExpiration(MemberCertificationHistory history){ history.getMemberCertificationInfo().processExpiration(); memberCertHisRepository.save(history); // 엔티티 저장 } 안녕하세요 위 코드에서 궁금한점이 있는데 내부호출에 관한 내용인지 질문드립니다. 간단하게 confirmAuthentication() , validateExpiration() , processExpiration() 3가지 메서드가 있는상황이구, 차례로 호출하며 validateExpiration()에서 throw를 던지는 상황입니다. 문제는 validateExpiration()를 내부에서 트랜잭션이 분리 처리(REQUIRES_NEW)되어 있는 processExpiration()를 타게되고, processExpiration()는 분리된 트랜잭션이니 .save()를 통해 저장이되고, 다시 validateExpiration()으로 돌아와 throw를 처리하게 되어 processExpiration()에서 저장된것은 롤백되지 않을것으로 예상하였습니다. 그런데 로그를보니 insert쿼리도 나가지 않고, 따로 롤백에 관한 내용도 찍히지 않았습니다. 따라서 내부호출이 된건가 생각을해보니 제가 아는 내부호출이라는 문제는 동일한 클래스에서 트랜잭션이 적용되지 않은 메서드에서 트랜잭션이 적용된 메서드 호출시 내부 호출이 발생하는걸로 알고있는데 위 예제에선 이미 최상위 메서드에서 트랜잭션이 적용되어 있는상태인데 따로 생성된 트랜잭션이 실행되지 않아서 혹시 이건 내부호출 문제가 맞는것인지, 아니면 다른 제가 간과한것이 있는지 궁금하여 질문드립니다 .

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
이ᄒ 댓글 1 좋아요 0 조회수 155

TRACE 레벨의 로그가 찍히지 않는 것 같아요( 해결완료 )

해결됨

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

JPA 와 DB 설정, 동작확인 강의에서 리뉴얼된 메뉴얼을 따라서 진행하고 있는데 24분 34초에 나오는 BasicBinder 와 관련한 로그가 TRACE 레벨인 것 같은데 해당 로그가 찍히지 않습니다. 또한 org.hibernate.SQL 과 관련한 로그도 영상과는 다르게 찍히는데 이유가 뭘까요? p6spy를 적용하여 나오는 결과 로그도 영상과 다릅니다 ( 27분 28초 ) p6spy 를 적용하면서 동일한 쿼리 내용이 2번 찍히는 것 같기도 하고 문제를 모르겠습니다. 2025-03-25T23:48:11.976+09:00 INFO 12200 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2025-03-25T23:48:12.165+09:00 INFO 12200 --- [ Test worker] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection conn0: url=jdbc:h2:tcp://localhost/~/jpashop user=SA 2025-03-25T23:48:12.168+09:00 INFO 12200 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2025-03-25T23:48:12.225+09:00 INFO 12200 --- [ Test worker] org.hibernate.orm.connections.pooling : HHH10001005: Database info: Database JDBC URL [Connecting through datasource 'p6SpyDataSourceDecorator [com.p6spy.engine.spy.P6DataSource] -> dataSource [com.zaxxer.hikari.HikariDataSource]'] Database driver: undefined/unknown Database version: 2.2.224 Autocommit mode: undefined/unknown Isolation level: undefined/unknown Minimum pool size: undefined/unknown Maximum pool size: undefined/unknown 2025-03-25T23:48:12.864+09:00 DEBUG 12200 --- [ Test worker] org.hibernate.SQL : create global temporary table HTE_member(rn_ integer not null, id bigint, username varchar(255), primary key (rn_)) TRANSACTIONAL 2025-03-25T23:48:12.869+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914092869 | took 2ms | statement | connection 1| url jdbc:h2:tcp://localhost/~/jpashop create global temporary table HTE_member(rn_ integer not null, id bigint, username varchar(255), primary key (rn_)) TRANSACTIONAL create global temporary table HTE_member(rn_ integer not null, id bigint, username varchar(255), primary key (rn_)) TRANSACTIONAL; 2025-03-25T23:48:12.976+09:00 INFO 12200 --- [ Test worker] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) 2025-03-25T23:48:12.988+09:00 DEBUG 12200 --- [ Test worker] org.hibernate.SQL : drop table if exists member cascade 2025-03-25T23:48:12.990+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914092990 | took 1ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/jpashop drop table if exists member cascade drop table if exists member cascade ; 2025-03-25T23:48:12.990+09:00 DEBUG 12200 --- [ Test worker] org.hibernate.SQL : drop sequence if exists member_seq 2025-03-25T23:48:12.991+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914092991 | took 0ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/jpashop drop sequence if exists member_seq drop sequence if exists member_seq; 2025-03-25T23:48:12.995+09:00 DEBUG 12200 --- [ Test worker] org.hibernate.SQL : create sequence member_seq start with 1 increment by 50 2025-03-25T23:48:12.996+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914092996 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop create sequence member_seq start with 1 increment by 50 create sequence member_seq start with 1 increment by 50; 2025-03-25T23:48:13.000+09:00 DEBUG 12200 --- [ Test worker] org.hibernate.SQL : create table member ( id bigint not null, username varchar(255), primary key (id) ) 2025-03-25T23:48:13.002+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914093002 | took 2ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop create table member ( id bigint not null, username varchar(255), primary key (id) ) create table member ( id bigint not null, username varchar(255), primary key (id) ); 2025-03-25T23:48:13.005+09:00 INFO 12200 --- [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-03-25T23:48:13.328+09:00 WARN 12200 --- [ Test worker] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning 2025-03-25T23:48:13.368+09:00 INFO 12200 --- [ Test worker] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html] 2025-03-25T23:48:13.881+09:00 INFO 12200 --- [ Test worker] jpabook.jpashop.MemberRepositoryTest : Started MemberRepositoryTest in 4.281 seconds (process running for 5.626) 2025-03-25T23:48:14.568+09:00 DEBUG 12200 --- [ Test worker] org.hibernate.SQL : select next value for member_seq 2025-03-25T23:48:14.589+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914094589 | took 13ms | statement | connection 4| url jdbc:h2:tcp://localhost/~/jpashop select next value for member_seq select next value for member_seq; 2025-03-25T23:48:14.685+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914094685 | took 0ms | rollback | connection 4| url jdbc:h2:tcp://localhost/~/jpashop ; OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 2025-03-25T23:48:14.710+09:00 INFO 12200 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2025-03-25T23:48:14.716+09:00 INFO 12200 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2025-03-25T23:48:14.730+09:00 INFO 12200 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. 현재 설정 파일 내용들입니다. spring: datasource: url: jdbc:h2:tcp://localhost/~/jpashop username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto : create properties: hibernate: # show_sql: true format_sql: true logging.level: org.hibernate.SQL: debug org.hibernate.orm.jdbc.bind: trace Junit5를 사용하기 위해서 Junit4를 추가하지 않았습니다. plugins { id 'java' id 'org.springframework.boot' version '3.4.4' id 'io.spring.dependency-management' version '1.1.7' } group = 'jpabook' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.10.0' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() }

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
summerender 댓글 2 좋아요 0 조회수 436

MariaDB 연동시 지속적인 에러

미해결

코드로 배우는 React 19 with 스프링부트 API서버

마지막 JDBC 데이터베이스 설정하는 부분까지 했는데도 계속 에러가 나서 찾아보니 mariaDB보다 MySQL이 더 호환이 잘된다고 나와서 MySQL로 변경하려 합니다. 그런데 mariaDB와 MySQL 모두 계속 오류가나서 진행이 되지 않네요 ㅠ 참고자료로 올려주신 pdf의 25페이지 코드 참고해서 해봐도 되지 않는데 살펴봐야 할 곳이 어디 있을까요? MySQL로 하는 방법도 알려주시면 감사하겠습니다!

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
Sssu 댓글 2 좋아요 0 조회수 233

grafana 그래프 nodata

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

https://www.inflearn.com/community/questions/267420/%EB%8C%80%EC%89%AC%EB%B3%B4%EB%93%9C%EC%97%90-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC-%EB%AA%BB%EA%B0%80%EC%A0%B8%EC%98%A4%EB%8A%94%EA%B2%83-%EA%B0%99%EC%8A%B5%EB%8B%88%EB%8B%A4 를 참고하여 Legend: {{instance}} Instant 체크 + Fields 입력 을 통해 위에 처리량은 잘나오는 모습입니다 하지만 밑에 그래프들은 Fields 입력하는 부분이없어서 처리량때 처럼 설정을 할 수 없고 역시나 no data로 나오네요 설정은 이대로 했습니다.

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
kkkkkk 댓글 2 좋아요 0 조회수 279

Stub vs Mock을 설명하면서 예시가 이해가 안돼요.

미해결

Practical Testing: 실용적인 테스트 가이드

안녕하세요, 6:13초 쯤에 Mock에 대한 예시로 앞에서 작성했던 "when 해서 sendMail 했을 때 파라미터 4개를 넘겨줬을 때 어떤 값을 리턴함" 을 말씀해주셨는데요, 이게 stub에 가까운게 아닌가란 의문이 들었습니다. 마틴 파울러의 글을 보면 Mock은 결국 호출 여부나 호출 횟수 같은 것을 검증하는 것 같더라구요. 뭔가 이해가 잘 안돼서 질문을 남깁니다. 감사합니다.

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
lch9502 댓글 2 좋아요 0 조회수 209

MemberJpaRepository basicTest에서 JPAQueryFactory 빈 등록 안됨 오류

해결됨

실전! Querydsl

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 순수 JPA 리포지토리문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 실전! querydsl 강의에서 4강의 순수 JPA 리포지토리와 quertdsl을 듣고 있습니다. 메뉴얼 따라서 MemberJpaRepository를 작성하고 basicTest를 실행했는데 No qualifying bean of type 'com.querydsl.jpa.impl.JPAQueryFactory' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} 오류가 나면서 실행이 안됩니다. JPAQueryFactory가 빈으로 등록이 안됐다고 하는거 같은데 MemberJpaRepository 생성자 안에서 할당해 주니까 memberRepository를 Autowired 할때 자동으로 들어간다고 생각했는데 아닌가요..? 검색해보니 JPAConfig 클래스를 생성해서 직접 bean을 등록하고 테스트에 @Import(JPAConfig.class)어노테이션을 작성해서 해결하면 된다고는 하는데 메뉴얼에 관련 내용이 없길래 다음 단계로 진행하기 전에 질문 드립니다. 정확한 상황을 알려드리기 위해 오류 발생 사진을 함께 첨부합니다.

  • java
  • jpa
hackedipod 댓글 1 좋아요 0 조회수 142

클래스 로더가 메소드 영역에 저장하는 것은 바이트코드인가요?

미해결

더 자바, 코드를 조작하는 다양한 방법

안녕하세요! 수업 잘 듣고 있습니다! 클래스 로더 수업 중에 로딩 과정에서 클래스 로더가 .class 파일을 읽고 그 내용에 따라 적절한 바이너리 데이터를 만들고 "메소드" 영역에 저장. 이라는 말이 있는데 바이트 코드가 메소드에 저장되는거 아닌가요? 인터프리터를 거쳐야 바이너리 데이터가 되는거 아닌가요?

  • java
  • spring
  • jpa
바나나 댓글 1 좋아요 1 조회수 124

RunWith

미해결

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

프로젝트 생성부분의 마지막 강의 수강중이고, 위와 같이 코드를 작성했을 때 다음과 같은 오류가 납니다 https://drive.google.com/file/d/1g1uPQj8hZvNmWr3u9NBwMTuI_NOZWSKC/view?usp=sharing 프로젝트 파일도 같이 첨부합니다

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
heoyejin9178 댓글 2 좋아요 0 조회수 352

route 설정이 동작을 안하는거 같아요.

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

RouteLocator gatewayRoutes(RouteLocatorBuilder builder) 이 메소드를 만들기 위해 implementation 'org.springframework.cloud:spring-cloud-starter-gateway' 이걸로 수정했을 했는데 이후 저 메소드를 주석 처리하고 applicatio.yml을로 설정을 대체 했을 때는 동작을 안하고 implementation 'org.springframework.cloud:spring-cloud-starter-gateway-mvc' mvc로 다시 변경해줘야 올바르게 동작하는데 무슨 차이가 있을까요?

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
ybs1121 댓글 2 좋아요 0 조회수 174

이름에 유니크 제약 조건을 거는 것

미해결

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

[질문 내용] 강의에서 회원의 이름으로 중복된 계정을 검증하고, DB에서 회원의 이름을 Unique 제약 조건으로 잡는 게 좋다고 하셨는데 이건 이 예제에서의 가정인 거고, 현업에선 이름만으로 중복 계정을 검증하거나, 이름에 유니크 제약 조건을 거는 경우는 거의 없다고 봐도 되나요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
11 1 댓글 1 좋아요 0 조회수 125

안녕하세요 조회기능 구현에서 에러가 발생했습니다

미해결

코드로 배우는 React 19 with 스프링부트 API서버

vscode를 통해 npm start를 한 후, todo/read/숫자를 입력하니까 404에러가 발생했습니다. 그런데 vscode에서 컨트롤S를 눌렀더니 화면이 떴는데 익스플로러 상에서 새로고침을 하니까 다시 404에러가 발생하는데 이유를 모르겠습니다. 이미지를 첨부할 테니 혹시 더 필요하신 게 있으시면 답변해 주시면 감사드리겠습니다.

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
wjdwoals042 댓글 2 좋아요 0 조회수 203

스프링 DB2편 강의 듣는 JPAQueryFactory에러

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오 예 알려주신대로 그리고 강의파일에 있는대로 buil.gradle파이 ㄹ옵션도 따라했는데 에러가 발생합니다 방법을 알려주세요 매번 강의를 들을 때마다 강의보다 설정하는데 시간이 너무 오래 걸리고 힘듭니다 도와주세요

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
안태승 댓글 2 좋아요 0 조회수 249

FeignErrorDecoder 질문

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

FeignErrorDecoder 에 대해서 order_is_empty를 수정한뒤에 127.0.0.1:8000/actuator/busrefresh 를 호출하면 Keys refreshed [ spring.cloud .bootstrap.enabled, order_service.exception.order_is_empty] 로그는 정상적으로 뜨며 디버깅 모드로 코드를 추가해서 실행한결과 List<ResponseOrder> orders= orderServiceClient.getOrders(userId); 코드전에 env.getProperty("order_service.exception.order_is_empty") 를 확인해본 결과는 정상적으로 리프레시되지만 이후에 오류를 터트리고 FeignErrorDecoder 처리 로직에서 switch(response.status()){ case 400: break; case 404: if(methodKey.contains("getOrders")){ return new ResponseStatusException(HttpStatus.valueOf(response.status()),env.getProperty("order_service.exception.order_is_empty")); } break; default: return new Exception(response.reason()); } getProperty("order_service.exception.order_is_empty") 이부분이 새로운 환경 변수가 ErrorDecoder 에서는 반영 안되는것같아서 해결이 안되서 질문남깁니다 ! UserServiceImpl 에서는 정상적으로 바뀐값이 나오는거보면 ErrorDecoder 문제 같은데 정확히 모르겠습니다 @RefreshScope 이것도 해결책은 아닌것같아요 답변 부탁드립니다 !

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
kkkkkk 댓글 2 좋아요 0 조회수 152

조회기능 구현 강의에서 에러가 발생했습니다

미해결

코드로 배우는 React 19 with 스프링부트 API서버

ReadComponent.js 파일을 만들고 ReadPage의 리턴 내용에 ReadComponent의 tno 값을 추가한 후에 npm start를 실행했는데 아래와 같은 에러가 발생했습니다. [eslint] src\components\menus\todo\ReadComponent.js Line 13:29: 'useState' is not defined no-undef Line 16:9: 'getOne' is not defined no-undef Search for the keywords to learn more about each error. ReadComponent.js의 useState와 getOne 로직 부분이 잘못 된 거 같아서 강의 영상을 다시 봤는데 틀린 부분이 없어 보여 어떤 게 문젠지 질문을 드리고 싶습니다. 참고용으로 ReadComponent.js의 내용을 추가해놓겠습니다. import React, { useEffect } from 'react'; const initState = { tno:0, title:'', writer:'', dueDate: '', complete: false } function ReadComponent({tno}) { const [todo, setTodo] = useState(initState) useEffect(() => { getOne(tno).then(data => { console.log(data) setTodo(data) }) }, [tno]); return ( <div> </div> ); } export default ReadComponent; 덧붙여서 툴은 vscode를 쓰고 있습니다. 잘 부탁드리겠습니다.

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
wjdwoals042 댓글 3 좋아요 0 조회수 169

오라클 사용시 GeneratedValue Strategy 지정방법..

미해결

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

안녕하세요 오라클과 jpa를 사용중인데요.. 엔터티에서 id 지정할 때 .generatedValue.identity 옵션이 적용이 불가합니다 그래서 auto나 다른 옵션으로 주면 테이블의 아이디값이 무작위로 나오는거 같은데요 mysql처럼 1부터 순서대로 나오게 하고 싶으면 어떻게 해야 할까요?.. 아시는 분은 답변 주시면 감사하겠습니다

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
신혜정 댓글 1 좋아요 0 조회수 152

스탭4 질문드립니다

미해결

RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기

안녕하세요, 스탭4 news 스크립트 코드가 궁금해 질문드립니다. 우선 영상처럼 curl -X POST " http://localhost:8080/news/api/publish?newsType=ja " curl -X POST " http://localhost:8080/news/api/publish?newsType=sp " curl -X POST " http://localhost:8080/news/api/publish?newsType=vu " 컬로 3번 찌르면 아래 사진과 같이 응답값이 찍히는데요 스크립트 부분에서 connect 함수 실행시 현재 선택한 const newsType = document.getElementById("newsType").value; (java선택) 값이 java이라 subscribeToNews(newsType); 이부분에 subscription = stompClient.subscribe( /topic/java, function (message) { alert(message.body); addMessageToDiv(message.body); }); 이렇게 /topic/java만 subscribe 할텐데 어떻게 spring , vue가 나왔는지 궁금합니다. curl 요청 -> restController -> publisher 에서 publishMessage 메서드를 통해 fanout으로 bindingBuilder가 설정된 큐에 send -> 클라이언트(html)에서 stomp를 이용해 구독 로직인것같은데 클라이언트(html)에서 /topic/java만 구독한상태에서 다른 vue, spring을 받은지 궁금합니다

  • java
  • spring-boot
  • jpa
  • msa
  • websocket
  • rabbitmq
나마스테 댓글 3 좋아요 0 조회수 219

전부 단방향으로 구현해도 괜찮을까요?

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 야생형 로드맵 따라서 현재 활용 1편을 듣고 있습니다. 지금 팀 프로젝트 중이고 기본 편의 이론은 제대로 배우지 못했어서 이론을 정확히 알진 않습니다. 그런데 연관 관계 매핑할 때 전부 단방향으로 구현하는 것도 가능할까요? 양방향으로 구현하게 되면 연관 관계 메서드 만들 때 setter나 Builder 등을 쓰게 될 거 같은데, 단방향으로 구현하게 되면 그런 걸 신경 쓰지 않아도 될 것 같다는 생각이 듭니다. 물론 장단점이 있겠지만, 전부 단방향으로 구현해도 큰 상관이 없다면 일단 전부 단방향으로 구현해 보고, 나중에 양방향에 대해 제대로 공부하고 그때부터 단방향, 양방향을 고민해 볼까 하는데.. 단방향으로만 구현하는 게 문제가 될 수 있을까요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
11 1 댓글 1 좋아요 0 조회수 182

왜 강의에서deliveryRepository 는 안만들었을까요

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 그냥 영한님의 생각이 궁금합니다。 저도 나중에 개발을 할텐데、 어떤건 Repository가있고、 어떤건 Repository없고、。。궁금합니다¡

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
윤항섭 댓글 1 좋아요 0 조회수 77

saveAll() 내부에 save()도 내부호출인 건가요?

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 그 트랜잭션 전파에 대해서 공부하다가 궁금증이 생겼는데 JpaRepository의 구현체인 SimpleJpaRepository에서 saveAll() 메서드도 내부에서 save()메서드를 호출하잖아요? 그러면 이때 호출되는 save()메서드도 내부호출이니까 @Transactional이 적용이 안되는 건가요? 풀어서 말하자면 saveAll()이 호출될때 @Transactional로 트랜잭션이 시작됨 saveAll() 내부에서 save() 메서드를 호출하지만 내부호출이므로 트랜잭션 전파가 아닌 그냥 save()메서드가 호출됨 결과적으로는 트랜잭션이 saveAll() 호출시 하나만 시작되고 save()들은 내부호출이므로 트랜잭션 전파를 받는것이아닌 saveAll()이 호출될때 시작된 트랜잭션을 따름 위와 같이 이해하는게 맞을까요?

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
김민재 댓글 1 좋아요 0 조회수 139

인기 태그

인프런 TOP Writers

주간 인기글