inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

@ManyToOne(fetch = FetchType.LAZY) 하고 콘솔에 select 쿼리문

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

[질문 내용] 단방향 연관관계 영상 22분 10초 쯤에서 Member클래스에 Team 필드 어노테이션으로 @ManyToOne(fetch = FetchType.LAZY)를 지정하고 서버를 재실행하였을 때 김영한 강사님 콘솔에서는 쿼리가 지연로딩되어 분리돼서 Member와 Team이 따로 조회가 되는걸로 나와있는데요 저도 같은 환경으로 실행하였을 때는 한 DB테이블만(MEMBER) 만 조회돼서 나오는데 왜 이러는 것인지 궁금합니다 .

  • java
  • jpa
soojinkimss 댓글 1 좋아요 0 조회수 124

DB 테이블명들이 복수형일 때 자바 엔터티 클래스명을 단수로 써야 할지 복수로 써야 할지 궁금합니다.

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의의 @Table(name = "orders") 이 부분 때문에 궁금한 점이 생겼습니다. @Entity @Table(name = "orders") @Getter @Setter public class Order { . . . } 이 경우 데이터베이스에 생성되는 테이블명이 orders로 복수형이 되는데, DB를 설계할 땐 테이블명들을 전부 단수형을 쓰든, 전부 복수형을 쓰든 하나로 전부 통일하는 게 낫다고 들었습니다. 그럼 실무에서 데이터베이스 테이블명을 전부 복수형으로 통일한다면, 자바 코드의 엔터티 클래스 이름은 단수로 하고, @Table을 통해 복수형으로 바꾸게 되나요? 아니면 이 경우 @Table을 일일이 적기 번거로우므로 자바 클래스 이름도 복수형으로 하나요? 즉 예를 들어 @Table("items") public class Item {} 이런 식으로 모든 엔터티 클래스에 @Table을 통해 복수형 이름을 지정하는지, 아니면 @Table 애노테이션을 안 쓰고 public class Items {} 이렇게 클래스 이름 자체를 복수형으로 쓰는지 궁금합니다.

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
11 1 댓글 2 좋아요 0 조회수 583

프록시 호출 문제

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

Member findMember = em.getReference(Member.class, member.getId()); System.out.println("findMember.getClass() = " + findMember.getClass()); //System.out.println("findMember.getId() = " + findMember.getId()); //em.detach(findMember); //em.clear(); //em.close(); System.out.println("findMember.getUsername() = " + findMember.getUsername()); 강의 38:40 초 내용 입니다 강의에선 em.close 를 하면 초기화 예외가 발생하는데 시간이 지나서 좀 바뀐건지 em.detach, clear 는 예외가 발생하는데 close 는 영속성 컨텍스트가 꺼지지 않고 정상적으로 작동을 해서 username 이 출력이 되네요 다른 분들도 그런건지 확인 차 질문드립니다

  • java
  • jpa
IGOR 댓글 1 좋아요 1 조회수 134

fetch join 관련 질문입니다

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

A : B = 1 : N , B : C = 1 : N , C : D = N : 1 현재 이런 구조인데 한번에 데이터를 땡겨오고싶으면 C를 기준으로 A, B, D 전부 fetch join으로 가져오면 되는걸까요? 아니면 이렇게 하면 문제가 있을까요?

  • java
  • spring
  • spring-boot
  • jpa
lllilililll 댓글 1 좋아요 0 조회수 203

allocationSize에 대해 질문드립니다.

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

1. 처음 em.persist()를 할떄 allocation했던거 만큼의 시퀀스 값을 미리 가져와서 메모리에 값을 저장해놓는다. 이떄 1부터 50의 값이 메모리에 저장된다. 2. db에 시퀀스의 값(현재값)은 50까지 줬으니 51로 되어있다. 3. 이후 em.persist()를 하면 메모리에 있는 값이 사용되고, 만약 50까지 다 사용하고 나서 em.persist()를하게 되면 51부터 다시 allocation했던거 만큼의 시퀀스 값을 미리 가져와서 메모리에 값을 저장해놓는다. 이때 51부터 100의 값이 메모리에 저장된다. db에 시퀀스의 값(현재값)은 100까지 줬으니 101로 되어있다. 이러한 동작 과정으로 이해를 했는데요. 이렇게 이해하는게 맞을까요? + 근데 그럼 여쭤보고 싶은게 em.persist()를 한번만 할 경우, call next value for MEMBER_SEQ5를 한번만 호출하고 이런식으로 되어있지만, em.persist()를 2번 이상으로 하게되면, call next value for MEMBER_SEQ5를 두번 호출하고 이런식으로 되더라구요... 그 이유를 도무지 모르겠습니다..

  • java
  • jpa
오리쉐리 댓글 4 좋아요 1 조회수 312

Docker Compose 배포 시 Jasypt 암호화된 속성 복호화 문제 해결 방법

미해결

입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기

문제 Docker Compose 환경에서 애플리케이션 배포 후, 데이터베이스에 연결할 때 암호화된 설정값을 복호화하지 못해 연결에 실패하는 문제. 원인 @EnableEncryptableProperties 어노테이션을 누락한 경우, 애플리케이션이 암호화된 속성을 복호화하지 않고 데이터를 사용하려고 시도합니다. 이로 인해 암호화된 패스워드로 데이터베이스에 접속하려 시도하면서 연결 오류가 발생하고, 컨테이너가 종료됩니다. 해결 방법 JasyptConfiguration.kt 파일에 @EnableEncryptableProperties 어노테이션을 추가합니다. import com.ulisesbocchio.jasyptspringboot.annotation.EnableEncryptableProperties import org.jasypt.encryption.StringEncryptor import org.jasypt.encryption.pbe.PooledPBEStringEncryptor import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration @Configuration @EnableEncryptableProperties // 추가해주세요. class JasyptConfiguration { @Bean("jasyptStringEncryptor") fun stringEncryptor(): StringEncryptor { val encryptor = PooledPBEStringEncryptor() val config = SimpleStringPBEConfig() config.password = System.getenv("jasypt.encryptor.key") config.algorithm = "PBEWithMD5AndDES" config.setKeyObtentionIterations("1000") config.setPoolSize("1") config.providerName = "SunJCE" config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator") config.setIvGeneratorClassName("org.jasypt.iv.NoIvGenerator") config.stringOutputType = "base64" encryptor.setConfig(config) return encryptor } } 예제 소스 코드 Github에서 확인하기

  • kotlin
  • mysql
  • docker
  • spring-boot
  • jpa
mrpark219 댓글 2 좋아요 1 조회수 368

트랜잭션 범위 질문

미해결

실전! 스프링 데이터 JPA

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] @RestController @RequiredArgsConstructor public class MemberController { // 도메인 클래스 컨버터 private final MemberRepository memberRepository; @GetMapping("/members/{id}") public String findMember(@PathVariable("id") Long id){ Member member = memberRepository.findById(id).get(); return member.getUsername(); } @GetMapping("/members2/{id}") public String findMember2(@PathVariable("id") Member member){ return member.getUsername(); } @PostConstruct public void init(){ memberRepository.save(new Member("userA")); } } MemberController 에서 @PostConstruct 부분을 보면, save 메소드가 보입니다. 일반적인 경우를 생각해보면, 서비스 계층에 @Transactional 이 붙어있고, 트랜잭션이 걸려있는 메소드를 통해서 리포지토리의 save 를 호출하니 리포지토리에도 트랜잭션이 걸려있다고 할 수 있을 것 같습니다. 그런데 위와 같은 경우에서는 리포지토리에 트랜잭션이 안 걸려있습니다. JpaRepository 의 상위 인터페이스나 클래스를 찾아가면서 save 에 트랜잭션이 걸려있는지 확인을 해보았으나 없었습니다. 그렇다면 트랜잭션이 걸려있지 않은데, 어떻게, 어떤 시점에 커밋이 이루어져서 db 에 반영이 된 것인지 궁금합니다.

  • java
  • spring
  • spring-boot
  • jpa
rookie21 댓글 2 좋아요 0 조회수 128

API키 관리 궁금해요.

미해결

스프링 프레임워크는 내 손에 [스프2탄]

ajax로 API통신을 할 때 키값을 하드코딩하면 클라이언트에게 노출이 되지 않나요? 관리방법이 어떤게 있을까요? 생각하고있는건, properties에 등록하고, 서비스로직에서 가져와 보내는걸 고려하고있습니다. 다른분께 얼핏 듣기로는 실무에서는 AWS에서 가져온다는데, 그건 어떤 방법일까요?

  • spring
  • jquery
  • mvc
  • jpa
  • spring-security
신민기는위대해요 댓글 2 좋아요 0 조회수 341

@GeneratedValue(strategy = GenerationType.IDENTITY) String, Long

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

[질문 내용] 기본 키 매핑 4분 10초 쯤에 id 필드에 @GeneratedValue() 어노테이션의 기본전략을 IDENTITY로 바꾸시고 실행을 하였을 때 김영한 강사님께서는 id 필드의 타입이 String이었습니다. 그런데 에러없이 잘 실행되더라고요. 그래서 저도 같은 코드에 실행을 하였을때는 에러가 나오고 아래에 콘솔에 나온 로그처럼 DDL이 실행이 에러난다고 표시가 나서 해결법을 찾는 과정에서 String타입을 Long타입으로 고치니 다시 재실행하였을 때 문제없이 DB에 잘 반영이 되었습니다. 어떤 차이로 이렇게 결과가 다른건지 궁금합니다. WARN: GenerationTarget encountered exception accepting command : Error executing DDL " create table Member ( id varchar(255) generated by default as identity, name varchar(255) not null, primary key (id) )" via JDBC [Feature not supported: "CHARACTER VARYING(255)";] org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL " create table Member ( id varchar(255) generated by default as identity, name varchar(255) not null, primary key (id) )" via JDBC [Feature not supported: "CHARACTER VARYING(255)";] at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:94) at org.hibernate.tool.schema.internal.Helper.applySqlString(Helper.java:233) at org.hibernate.tool.schema.internal.Helper.applySqlStrings(Helper.java:217) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createTables(SchemaCreatorImpl.java:420) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createSequencesTablesConstraints(SchemaCreatorImpl.java:340) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createFromMetadata(SchemaCreatorImpl.java:239) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.performCreation(SchemaCreatorImpl.java:172) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:142) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:118) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:256) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$5(SchemaManagementToolCoordinator.java:145) at java.base/java.util.HashMap.forEach(HashMap.java:1421) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:142) at org.hibernate.boot.internal.SessionFactoryObserverForSchemaExport.sessionFactoryCreated(SessionFactoryObserverForSchemaExport.java:37) at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:35) at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:315) at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build (SessionFactoryBuilderImpl.java:450) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build (EntityManagerFactoryBuilderImpl.java:1507) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:55) at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:80) at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:55) at hellojpa.JpaMain.main(JpaMain.java:10) Caused by: org.h2.jdbc.JdbcSQLFeatureNotSupportedException: Feature not supported: "CHARACTER VARYING(255)"; SQL statement: create table Member ( id varchar(255) generated by default as identity, name varchar(255) not null, [50100-232] at org.h2.message.DbException.getJdbcSQLException(DbException.java:568) at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) at org.h2.message.DbException.get(DbException.java:223) at org.h2.message.DbException.get(DbException.java:199) at org.h2.message.DbException.getUnsupportedException(DbException.java:287) at org.h2.command.ddl.SequenceOptions.getBounds(SequenceOptions.java:316) at org.h2.command.ddl.SequenceOptions.getBounds(SequenceOptions.java:244) at org.h2.schema.Sequence.<init>(Sequence.java:100) at org.h2.table.Column.initializeSequence(Column.java:502) at org.h2.command.ddl.CommandWithColumns.generateSequences(CommandWithColumns.java:103) at org.h2.command.ddl.CreateTable.update(CreateTable.java:113) at org.h2.command.CommandContainer.update(CommandContainer.java:139) at org.h2.command.Command.executeUpdate(Command.java:304) at org.h2.command.Command.executeUpdate(Command.java:248) at org.h2.server.TcpServerThread.process(TcpServerThread.java:386) at org.h2.server.TcpServerThread.run(TcpServerThread.java:193) at java.base/ java.lang.Thread.run (Thread.java:842) at org.h2.message.DbException.getJdbcSQLException(DbException.java:568) at org.h2.engine.SessionRemote.readException(SessionRemote.java:650) at org.h2.engine.SessionRemote.done(SessionRemote.java:619) at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:237) at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:262) at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:231) at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:80) ... 21 more

  • java
  • jpa
soojinkimss 댓글 2 좋아요 1 조회수 338

이 흐름이 맞을까요??

미해결

생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현

클라이언트에서 카카오 로그인 요청(요청 주소는 loginForm에 있는 a 태그) -> a태그의 redirectUrl로 code가 내려오고 요청폼에 맞춰서 DTO를 만들고 카카오 AccessToken을 발급 받음 -> 그럼 클라이언트는 로그인 완료 -> 그 후 나의 Application을 이용하기 위한 JWT 토큰을 별도로 발급 그럼 서버쪽에서는 카카오 로그인이 완료되면 우리쪽의 Application을 이용하기 위한 JWT토큰을 발급해주면 되고, 우리쪽 JWT 토큰을 헤더에 넣어서 요청하면 API를 사용할 수 있다. 해당 흐름이 맞나요? 이렇게 이해하면 될까요?

  • spring-boot
  • jpa
  • web-api
service 댓글 2 좋아요 0 조회수 187

Memberrepository작성후 memberRepositoryTest에서 오류발생

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] mememberrepository를 작성한 이후 memberrepository에서 오류가 발생하고 있습니다

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
상윤 댓글 2 좋아요 0 조회수 389

OpenFeign을 어떤 상황에서 어떻게 사용하는지 감이 안옵니다...

미해결

생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현

OpenFeign을 어떤 상황에서 어떻게 사용하는지 감이 안옵니다... 단 한번도 프로젝트를 진행하면서 사용해본적이 없는 기술이여서 감이 와닿지 않는데 어떤 상황에서 유용하게 쓸 수 있는 기술인걸까요??

  • spring-boot
  • jpa
  • web-api
service 댓글 2 좋아요 0 조회수 295

회원을 바꾸고 재실행했을때 DB 데이터

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

[질문 내용] 12:57 쯤에 김영한 강사님께서 데이터를 바꾸고 재실행했을 때 h2 database의 데이터 목록에서 기존 1, helloA와 2, helloB가 같이 나오는것을 확인하였습니다. 저도 따라서 기존 회원데이터를 2L, helloB 로 변경하고 실행했을 때 제 h2 데이터화면에서는 바뀐 데이터값만(2, helloB) 출력되더라고요. 동일한 환경과 셋팅을 하였지만 왜 저는 이렇게 다른 결과가 나오게 되었는지 궁금합니다.

  • java
  • jpa
soojinkimss 댓글 2 좋아요 2 조회수 472

HTE 테이블 생성

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] H2에 연동해서 테이블을 생성하면 이렇게 HTE 테이블도 자동으로 생성이 됩니다. 코드는 강의 자료에 있는 그대로 했는데도 이렇게 뜨는데 HTE 테이블이 왜 생기는 걸까요?

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

수업 외 질문입니다. test profile

미해결

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

학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요! 먼저 유사한 질문이 있었는지 검색해 보세요. 서로 예의를 지키며 존중하는 문화를 만들어가요. JPA 가 아니더라도 Mybatis 환경이나 등... 실무에서 Junit Test를 할때 test profile 환경을 따로 구성해서 하나요? 원본 데이터의 훼손을 방지하고자 하는건가요?

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

SpringMvc 프로젝트가 없는 상태로 작업 중인데 처음부터 막힙니다..

미해결

스프링 프레임워크는 내 손에 [스프2탄]

강사님을 따라서 작업 중이지만 프로젝트 생성 부터 SpringMVC 프로젝트가 없다는 것을 알게 되었고 그 중에 한 학생분에게 주신 조언대로(질문&답변에 달아주신) eGov Web Project 생성 후 필요한 부분인 servlet-context.xml , home.jsp , HomeController , web.xml , root-context.xml 등을 생성하여 작업하였습니다. 최종적으로 이런 화면이 나오는데 좀 더 구체적으로 상세하게 어떤 식으로 프로젝트를 생성해야할지 안내해주시면 감사하겠습니다ㅠㅠ

  • spring
  • jquery
  • mvc
  • jpa
  • spring-security
taetae 댓글 2 좋아요 0 조회수 230

컨트롤러가 필수인지

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 프로젝트를 하다보니 내부적으로만 동작하는 로직이 담긴 엔티티 및 레포지토리, 서비스가 있는데 이럴 때는 컨트롤러를 안만들기도 하나요? 예를 들어 포인트 계산 로직이 외부적으로 쓰이기보다 내부적으로 다른 파트에서 그때그때 계산이 필요할 때 가져다 쓰기 위해 설계를 했다고 치면 이럴 때는 컨트롤러 없이 구현하기도 하나요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
염경호 댓글 1 좋아요 0 조회수 169

단일 데이터베이스 연결

미해결

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

강의 내용에 따르면 order-service1, order-service2 두 개의 인스턴스가 kafka-connect를 사용하기 위해 mariadb에 직접 연결을 맺는것으로 이해했습니다. 제가 궁금한 것은 단일 DB를 사용하는 경우에 kafka를 쓰는 이유입니다. 현 강의와 같이 단일 DB를 사용하는 경우라면 kafka를 사용하지 않고, RestTemplate이나 FeignClient와 같은 라이브러리를 사용해서 catalog-service와 통신하고, jpa를 통해 직접 DB에 데이터를 직접 삽입할 수 있을텐데 이 경우 트랜잭션을 잘 처리해준다면 데이터도 동기화 할 수 있다고 생각합니다. 다만, 여러 진입점 관리, 트랜잭션 처리 등 따로 처리해야할 부분이 많고 요청이 증가할 수록 kafka의 성능이 우수하기 때문에 kafka를 쓰는 것으로 이해했습니다. 제 생각에 틀린 부분이 있다면 말씀해주시면 감사하겠습니다!

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
도토리묵 댓글 2 좋아요 0 조회수 192

mysql 연결 오류

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

안녕하세요 맥북을 사용 중이고 homebrew 로 mysql을 설치했습니다 mysql 을 인텔리제이에 연결하려하면 DBMS: MySQL (no ver.) Case sensitivity: plain=mixed, delimited=exact Connection refused. 이러한 오류가 뜹니다. 어떤 것이 문제일까요? 초기화하고 다시 sudo brew services start mysql 해도 똑같은 오류가 뜹니다.

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
cg10046 댓글 2 좋아요 0 조회수 759

OrderSpecifier 관련 내용도 학습하나요?

미해결

실전! Querydsl

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 정렬구현하다가 OrderSpecifier을 구글링으로봤는데 아직 영상을 다못봐서요 영상에서 학습하나요?

  • java
  • jpa
임다정 댓글 1 좋아요 0 조회수 113

인기 태그

인프런 TOP Writers

주간 인기글