inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?

미해결

실전! 스프링 데이터 JPA

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. ============================= 안녕하세요. Spring Data JPA에서 연관관계 필드에 대한 exists 메서드 사용 시, 아래 두 방식 중 어떤 방식이 더 적절한지 궁금합니다. ProjectMember 엔티티는 아래처럼 Project , User 와 연관되어 있습니다. public class ProjectMember { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "project_id", nullable = false) private Project project; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id", nullable = false) private User user; } 사용자가 특정 프로젝트에 포함되어 있는지 확인하려고 할 때, 아래 두 가지 방식을 테스트해봤습니다. 1. 식별자 사용 : boolean existsBy UserId And ProjectId (Long userId, Long projectId) 단점: 이 메서드를 실행하면, project_members 테이블에 user_id , project_id FK가 있음에도 불구하고 users , projects 테이블과 불필요한 left join이 발생 했습니다. 실행 SQL: select pm1_ 0.id from project_members pm1_0 left join users u1_0 on u1_ 0.id = pm1_0.user_id left join projects p1_0 on p1_ 0.id = pm1_0.project_id where u1_ 0.id = ? and p1_ 0.id = ? fetch first ? rows only; 2. 엔티티 사용 : boolean existsBy User And Project (User user, Project project) 장점: 이 경우에는 조인 없이 where 절에서 FK 컬럼으로 조회 되었습니다. 단점: 하지만, 이 메서드를 사용하려면 서비스에서 userId, projectId 를 이용하여 User와 Project를 추가로 조회 해야 한다는 단점이 있습니다. 실행 SQL: select pm1_ 0.id from project_members pm1_0 where pm1_0.user_id = ? and pm1_0.project_id = ? fetch first ? rows only; 결론: 이 경우 두 방식 중 어떤 것을 사용하는 것이 더 좋은 선택인가요?

  • java
  • spring
  • spring-boot
  • jpa
치즈볼 댓글 1 좋아요 0 조회수 129

existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?

미해결

실전! 스프링 데이터 JPA

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. ============================== 안녕하세요. Spring Data JPA에서 연관관계 필드에 대한 exists 메서드 사용 시, 아래 두 방식 중 어떤 방식이 더 적절한지 궁금합니다. ProjectMember 엔티티는 아래처럼 Project , User 와 연관되어 있습니다. public class ProjectMember { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "project_id", nullable = false) private Project project; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id", nullable = false) private User user; } 사용자가 특정 프로젝트에 포함되어 있는지 확인하려고 할 때, 아래 두 가지 방식을 테스트해봤습니다. 1. 식별자 사용 : boolean existsBy UserId And ProjectId (Long userId, Long projectId) 단점: 이 메서드를 실행하면, project_members 테이블에 user_id , project_id FK가 있음에도 불구하고 users , projects 테이블과 불필요한 left join이 발생 했습니다. 실행 SQL: select pm1_ 0.id from project_members pm1_0 left join users u1_0 on u1_ 0.id = pm1_0.user_id left join projects p1_0 on p1_ 0.id = pm1_0.project_id where u1_ 0.id = ? and p1_ 0.id = ? fetch first ? rows only; 2. 엔티티 사용 : boolean existsBy User And Project (User user, Project project) 장점: 이 경우에는 조인 없이 where 절에서 FK 컬럼으로 조회 되었습니다. 단점: 하지만, 이 메서드를 사용하려면 서비스에서 userId, projectId 를 이용하여 User와 Project를 추가로 조회 해야 한다는 단점이 있습니다. 실행 SQL: select pm1_ 0.id from project_members pm1_0 where pm1_0.user_id = ? and pm1_0.project_id = ? fetch first ? rows only; 결론: 이 경우 두 방식 중 어떤 것을 사용하는 것이 더 좋은 선택인가요?

  • java
  • spring
  • spring-boot
  • jpa
댓글 3 좋아요 0 조회수 181

JPQL 메소드와 락

미해결

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

JPQL 호출 시에 flush가 진행된다고 했는데, @Query 어노테이션이 달린 메소드를 호출하는 서비스 메소드에는 쓰기 락을 걸어두는게 좋을까요?

  • java
  • jpa
dlwnstjr31 댓글 1 좋아요 0 조회수 108

Delivery @OneToOne

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Delivery에 있는 @OneToOne(mappedBy = "delivery", fetch = LAZY) private Order order; 에서 인텔리제이가 fetch = LAZY에 노란줄이 떠서 확인해보니 Specifying FetchType.LAZY for the non-owning side of the @OneToOne association will not affect the loading. The related entity will still be loaded as if the FetchType.EAGER is defined. 이런 메세지가 뜹니다. 찾아보니 Lazy를해도 Eager로 동작한다는 거 같은데.. 실제로 테스트를 해보니 Eager로 동작 하고 있어서 여기에 OneToOne인데 lazy로 동작해도 상관없는걸까요?? 아니면 제가 어떤걸 놓친건지 궁금합니다

  • java
  • jpa
Cola 댓글 1 좋아요 0 조회수 116

강의 교안

미해결

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

강의 교안 지금은 받을수있을까요

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

어댑터에서 도메인에 직접 의존하는 경우에 대해

미해결

토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1

안녕하세요. 좋은 강의 잘듣고 많이 배우고 있습니다. 좋은 강의 만들어주셔서 감사합니다. 다름이 아니라, 어댑터에서 엔티티에 의존성을 가지는 것이 크게 문제되지 않는다고 말씀주신 내용에 의문이 있어 질문드립니다! 어댑터에서 도메인에 직접 의존하는 것을 막기 위해서 변환 역할을 하는 매퍼 클래스나 DTO에서 엔티티를 자기 자신으로 변환하는 로직을 가지는 것은 어떨까요? 타이트하게 룰을 잡는 케이스를 가정한다면, application layer 내부에 port가 존재할 것이고 이 port에서 return 하는 dto도 application layer일 것이고, 이 dto 안에서 Entity를 받아서 자기 자신으로 변환하는 로직을 가진다면 entity가 application 밖으로 나가지 않을 수 있지 않을까요? (controller, repository 등 마찬가지입니다) 그리고 dto를 application에서 변환하는 것이 로직의 침투라고 표현하시기도 했는데, 그렇다면 provided port 역시 어댑터의 요구가 침투하는 구조라고 볼 수도 있을 것 같기도 합니다.. (생각해보니 이상적으로는 계층별로 DTO를 생성하는게 맞다고 생각은 들지만, "엔티티를 반환하는 트레이드오프가 굉장히 효율적이고 정당하다"라고 말씀하신 것 같다고도 생각이 듭니다) 강의에서 항상 기술이 등장한 배경과 사상을 이해하고, 이를 바탕으로 정당하게 규칙을 스스로 정하는 것을 강조하시는 것 같습니다. 그래서 강의에서 말씀하신 내용이 비슷한 맥락으로, "절대 노출되면 안된다"라는 것에 대한 반박이라고 받아들여지긴 합니다만.. 그래도 바깥쪽으로 노출하지 않는 것이 의존성 관리 차원에서 더 좋지 않을까하는 생각에 질문드립니다!

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
개발덕후 댓글 2 좋아요 0 조회수 244

Member 도메인이 PasswordEncoder를 받는 구조 질문 있습니다.

해결됨

토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1

예제에서는 도메인에 별도 PasswordEncoder 인터페이스를 정의해 사용하고 있습니다. 만약에, Member 도메인이 Spring Security의 PasswordEncoder 인터페이스를 직접 의존한다면, 구현체가 아니라 인터페이스를 참조하더라도 순수 도메인 설계 관점에서 위반으로 봐야 할까요? 저는 인터페이스 의존이라 괜찮을 수 있다고 생각했지만 AI는 도메인에서는 자체 PasswordEncoder 포트만 사용하고, Spring Security PasswordEncoder는 인프라 어댑터에서 위임하는 것이 좋다. 고 제안했습니다. 토비님은 어느 쪽이 더 적절하다고 보시는지, 판단 기준도 함께 듣고 싶습니다.

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
이런개발 댓글 2 좋아요 0 조회수 217

step 4 - fanout 관련 질문

미해결

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

안녕하세요, step 4에 fanout 브로드캐스팅으로 구현한 이유가 궁금해서 질문드립니다. 다른 질문을 찾아보니 아래와 같이 답변을 주셨습니다. "정리하면 Fanout은 모든 큐에 메시지를 브로드캐스트하지만 WebSocket을 이용해 특정 뉴스 타입만 선택적으로 구독할 수 있습니다. (서로 독립적으로 동작합니다) 따라서 Pub/Sub의 성격을 이용해서 브로드 캐스트를 하는 것은 Direct나 Topic 보다 Fanout이 적합하고, 전체 브로드캐스트가 필요하지 않은 Pub/Sub의 일부 제한이 필요한 경우는 WebSocket과 STOMP를 통해서 필터링 .. 여기서 저는 왜 step4에서 Pub/Sub의 성격을 이용해서 브로드캐스팅하는지 이해가 안됩니다. 어차피 WebSocket에서 필터링할 것이라면 왜 비효율적으로 브로드캐스팅하는건가요? fanout보다 topic Exchange가 적합하지 않나요? 어차피 브로드캐스팅하고 모든 큐에 넣을 것이라면, javaQueue, vueQueue, springQueue로 구분할 필요가 있나요? pub/sub 모델은 아니지만, 하나의 newQueue로 관리하고 simpMessagingTemplate의 destination을 구분하는 것은 어떤가요?

  • spring-boot
  • jpa
  • websocket
  • rabbitmq
최재량 댓글 2 좋아요 0 조회수 147

터미널에서 sql작성은 도커라서 그런거죠? 도커 안쓰는데..ㅜ

미해결

[2탄-JPA] 옆집 개발자와 같이 진짜 이해하며 만들어보는 첫 Spring Boot 프로젝트

도커안하고 일반적으로 mysql이나 데이터베이스에서 사용하는거 올려주실순없나여ㅜㅜ이미다 찍으셨겠지만..

  • spring
  • spring-boot
  • jpa
  • dbms/rdbms
  • spring-jpa
ariel123 댓글 2 좋아요 1 조회수 140

dlx dlq 설정 관련

해결됨

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

안녕하세요. 설정 시 String 으로 작성 된게 눈에 걸려서 확인해봤는데, Spring AMQP 2.X 에서는 다른 방법이 있어서 내용 공유 드립니다... 다른 수강생분들도 참고용으로 q&a로 남겼습니다.. 감사합니다... @Bean public Queue orderQueue() { return QueueBuilder.durable(ORDER_COMPLETED_QUEUE) .deadLetterExchange(DLX) // Available since Spring AMQP 2.x .deadLetterRoutingKey(DLQ) // Available since Spring AMQP 2.x // .withArgument("x-dead-letter-exchange", DLX) // Spring AMQP 1.x compatible // .withArgument("x-dead-letter-routing-key", DLQ) // Spring AMQP 1.x compatible .ttl(5000) .build(); }

  • spring-boot
  • jpa
  • websocket
  • rabbitmq
slow 댓글 1 좋아요 1 조회수 135

postman request url {{baseURL}} 어떻게 하신걸까요?

해결됨

[Lv1] 면접에서 설명할 수 있는 Spring Boot - 경험으로 답변하는 백엔드 개발

3-5 강의 14:34 에 요청 URL 을 var 로 선언해두셨는데, 어떻게 하는걸까요?

  • spring
  • spring-boot
  • jpa
  • hibernate
smaller 댓글 2 좋아요 0 조회수 205

MemberRepositoryTest 실행오류

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) MemberRepositoryTest가 실행이 안됩니다. 실행 시 Execution failed for task ':test'. > There were failing tests. See the report at: file:///C:/%EC%9D%B8%ED%94%84%EB%9F%B0_%EC%8A%A4%ED%94%84%EB%A7%81JPA_%EC%8B%A4%EC%A0%841/jpashop/build/reports/tests/test/index.html * Try: > Run with --scan to get full insights. BUILD FAILED in 2s 4 actionable tasks: 1 executed, 3 up-to-date 라는 오류가 계속 뜹니다. https://drive.google.com/file/d/1LNpdY4Fqk9nXDHT11tj0hEyGf_zKRgVr/view?usp=sharing

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

강의 자료 수정 요청 - Next.js 16 버전의 파일 업로드 사이즈 제한 설정

해결됨

Next.js with Spring Boot

Next 최신 버전으로 수업 듣고 있습니다. 강의 자료에 이 파일이 들어가있는데 오히려 이 설정을 적용하면 1MB 제한이 걸려 업로드 되지 않습니다 발생된 오류 메시지 Error: Body exceeded 1 MB limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit at ignore-listed frames { statusCode: 413 } ⨯ uncaughtException: Error: Body exceeded 1 MB limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit at ignore-listed frames { statusCode: 413 } ⨯ uncaughtException: Error: Body exceeded 1 MB limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit at ignore-listed frames { statusCode: 413 } ⨯ Error: Body exceeded 1 MB limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit at ignore-listed frames { statusCode: 413, digest: '2270266421@E394' } 강의에서 알려주는 설정으로 해야 1MB 이상 이미지가 정상 업로드 되었습니다. experimental: { // 'experimental' 아래에 serverActions를 정의해야 합니다. serverActions: { bodySizeLimit: "1000mb", // 원하는 크기로 조절하세요 (예: '50mb', '100mb') }, }, 강의 자료 수정이 필요할 것 같습니다.

  • javascript
  • react
  • spring-boot
  • jpa
  • next.js
개발자 취업 포기 댓글 1 좋아요 0 조회수 209

private 상수 테스트 관련 질문

미해결

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

안녕하세요, 선생님의 강의 덕에 개인 프로젝트에 테스트를 적용하는 재미를 느끼고있는 수강생입니다. 강의 내용을 참고하여 개인 프로젝트에서 도메인 테스트를 작성하던 중, 한 가지 개념적으로 헷갈리는 지점이 있어 질문드립니다. 강의 중 “private 메서드는 테스트할 필요도 없고, 해서도 안 된다” 라고 말씀 주셨는데, 엔티티 내부에 도메인 정책으로서 private static final 상수와 이를 사용하는 private 검증 로직이 존재하는 경우엔 어떻게 하지...? 라는 궁금증이 생겼습니다. 이때 테스트에서는 경계값 을 검증해야 하는데, @Entity public class TransactionFile extends BaseEntity { private static final long MAX_FILE_SIZE = 10; // 중략 private static void validateSize(long size) { state(size != 0, "파일 크기는 0보다 커야합니다."); state(size <= MAX_FILE_SIZE*1024*1024, "파일 크기는" + MAX_FILE_SIZE + "MB 이하여야 합니다."); } } 상수가 private 이므로 테스트 코드에서 값을 참조할 수 없습니다. class TransactionFileTest { long fileSize = MAX_FILE_SIZE * 1024 * 1024 - 1; // 테스트에서는 접근 불가 } 결국 궁금한 점은 private 상수를 경계값 테스트 기준으로 사용할 시... □ 단순히 도메인 모델 정책만 지켜지는지 검증하고 경계값 테스트를 안하는게 맞는지 (예 - MIN_VALUE, MAX_VALUE를 써서 그냥 충분히 작은값, 큰값으로 테스트하고 넘기기) □ 아니면 리플렉션을 이용해서 상수 값을 참조해야하는지 (강의 중 리플렉션에 대해 부정적으로 말씀해 주셔서, 이런 경우에도 리플렉션을 지양하는 것이 맞는지 아니면 예외적으로 고려할 수 있는 상황인지...) 강의자님의 실무 기준을 듣고싶습니다.

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
eunseo lay 댓글 1 좋아요 0 조회수 166

마이크로서비스간 통신 시, 인증 처리

미해결

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

유저서비스에서 주문서비스로 주문 목록을 rest api 로 요청을 보내는데, 주문 서비스에서 주문 목록에 대한 api 는 유저서비스 의 IP만 접근하도록 방어 처리도 따로 필요 한가요 ??

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

영상 안보임

해결됨

Spring Boot, AWS로 백엔드 서비스 한 사이클 완성하기

맥북 미러링으로 확장하면 영상이 안보임요..

  • aws
  • mysql
  • docker
  • spring-boot
  • jpa
Nuri Park 댓글 4 좋아요 0 조회수 208

Java JDK 버전 문의의 건

미해결

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

알려주신대로 java jdk 11버전으로 다운받고 Gradle 11버전이 없어서 17로 받았는데, 버전 오류가 발생한 것 같습니다. 17버전을 다시 다운받으려고 하는데, 어떤걸 해야하는지 확인 부탁드립니다!

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
bora.it 댓글 2 좋아요 0 조회수 252

SQL 중심적 개발의 문제점에 대한 질문

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 선생님 SQL 중심적 개발의 문제점에 대해 궁금증이 많아 글 남겨 봅니다. 선생님의 강의를 들으면서 결국 애플리케이션의 핵심 역할은 DB라는 종착지에 가기 전 데이터를 정제하고 그 정합성을 책임지는 것이라고 생각합니다. 애플리케이션이 이 책임을 다하려면, 데이터를 담는 DB설계에 끌려다는 것이 아닌 데이터를 가공하는 주체인 객체지향 설계가 우선되야 한다고 생각이 듭니다. 하지만 현실에서는 여전히 DB무결성을 이유로 DB설계를 최우선되고 객체는 그저 데이터의 운반책으로 쓰는 경우가 많았는데, 데이터 정합성의 책임을 다하기 위해 객체지향 설계가 DB설계보다 앞서야 한다는 제 생각이 맞는지 , 혹시 이런 관점이 실무에서 DB 무결성을 놓치는 위험한 발상은 아닌지 시니어 개발자이신 선생님의 고견을 듣고 싶습니다.

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
웩웩 댓글 1 좋아요 0 조회수 130

데드락 발생 시, 외래 키를 제거하는 방법 관련 질문

해결됨

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 4-8 여기까지 이해하신 내용은 무엇인가요? 외래키 제약조건으로 인해 발생한 데드락 문제를 해결하기 위해 INSERT 하려는 테이블에 외래 키를 제거한다. 2. 어려움을 겪는 부분 외래키를 만약에 제거한다면, 어플리케이션 레벨에서 직접 관리한다고 했는데, 구체적으로 어떻게 관리를 하는 건지 궁금합니다! INSERT 하려는 테이블과 연관된 테이블들을 먼저 조회( findXXX() )를 하고, 만약에 없다면 예외를 발생시켜서 트랜잭션을 롤백시키는 방식으로 처리하나요? 실무에서 주로 어떻게 해결하는지 궁금합니다. 그리고 외래키를 사용하지 않는 첫 번째 방법은 이미 테이블이 생성된 시점( INSERT 하려는 테이블에 외래키가 추가되어 있는 상황)에서도 적용할 수 있는건가요? 예를 들어, 이미 테이블에 데이터가 추가되어 있는 상황에서 첫 번째 방법을 적용하려면, 테이블 구조를 아예 바꿔야 할텐데 이 경우에는 두 번째 방법인 쿼리 순서를 바꾸는 걸 대안으로 사용하는 건가요?

  • java
  • spring
  • mysql
  • jpa
cho766 댓글 2 좋아요 1 조회수 161

인기 태그

인프런 TOP Writers

주간 인기글