inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

id값을 Long 타입으로 지정하는 이유가 따로 있나요??

해결됨

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

강의를 보면서 계속 궁금했던 건데 id 값을 int가 아닌 Long 타입으로 하는 이유가 뭔지 궁금합니다! 

  • spring
  • java
  • spring-boot
  • JPA
  • 웹앱
나 좀 도와줘요 댓글 2 좋아요 1 조회수 3403

Enum 관련 질문드립니다.

미해결

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

아무래도JPA 보다는 DB쪽 질문에 가까운거같은데 이해해주시면 감사합니다. Enum이라는게 결국 어떤 카테고리의 역할을 할때가 많은거같은데요 이런경우 보통 인덱스를 걸어주는게 맞나요? db이론상으론 카디널리티가 낮은경우 인덱스를 걸면 효과가 적다고 해서 좀 혼란스럽더라구요. 그리고 강의중간에 말씀하신걸로 보면 그냥 String 형태로 저장해도 된다고 하고 차이가 적다구 하셨긴했는데 카테고리 역할을 할때 의 컬럼이 조건식도 그렇고 많이 쓰이는거 같아서 String비교보단 int비교가 빠르지 않나? 라는 생각이 좀 들었어서 혹시 int값을 주고 다른테이블로 외래키를 연결해서 id값과 String값을 주고 이어준다던가 이럴 필요는 없다고 생각해도 될까요?

  • java
  • JPA
Jimin Park 댓글 1 좋아요 2 조회수 531

패치조인 사용이유 라고 해야할지 ??

미해결

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

예를들어 N:1 관계에서 Member에 team 필드를 Lazy로 설정한 상태일 경우 만약 비즈니스 적으로 대부분이 Member에 관한것만 조회하고 아주 가끔 Member랑 Team을 같이 조회해야 하는경우가 있다면 이럴때 fetch조인을 쓰면 될까요?

  • java
  • JPA
원석나 댓글 2 좋아요 1 조회수 250

데이터뻥튀기, n+1 질문..

미해결

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

1) N+1 문제는 1의 쿼리를날렷을시 N방의 쿼리가 나가는것이고 , 데이터 뻥튀기는 중복값이 나오는 거라고 이해하고있는데요 이둘은 다른 의미라고 봐도되는건가요? 2)N+1 문제에서 맴버와, 팀 LAZY 설정, N:1 관계라고 한다면요~ 초기셋팅 Team teamA = new Team (); teamA. setName ( "teamA" ); em. persist (teamA); Team teamB = new Team (); teamB. setName ( "teamB" ); em. persist (teamB); Member member = new Member (); member. setName ( " 김 A" ); member. changeTeam (teamA); Member member5 = new Member (); member5. setName ( " 홍 A" ); member5. changeTeam (teamA); Member member1 = new Member (); member1. setName ( " 정 B" ); member1. changeTeam (teamB); Member member2 = new Member (); member2. setName ( " 진 B" ); member2. changeTeam (teamB); em. persist (member); em. persist (member1); em. persist (member2); em. persist (member5); List<Member> resultList = em.createQuery("select m from Member m join m.team", Member.class).getResultList(); for (Member memberOne : resultList) { System.out.println(memberOne.getTeam().getName()); } 맴버에관한 쿼리 1방. 팀에대한 쿼리 두방이 나갈거같습니다.. 이런경우가 N+1 이고 데이터 뻥튀기는 없다. 라고 봐도될까요? 3) 이번엔 2번문제의 반대인데요~ 조건은같구요 List<Team> result = em.createQuery("select t from Team t join t.members", Team.class).getResultList(); for (Team team : result) { System.out.println("team = " + team.getName()); for(Member members : team.getMembers()){ System.out.println("members = " + members.getName()); } } 이런경우는 팀에관한 쿼리 한방, 맴버의 이름 2방이 나가니, N+1 이고 , 데이터 뻥튀기가 발생한다가 맞을까요 몇일째 N+1과 데이터 뻥튀기에대해 강의도 다시듣고 , 찾아보고하지만 머리 뇌리속에 안박히네요..

  • java
  • JPA
더콰니 댓글 1 좋아요 1 조회수 341

V5 에서 질문이있습니다.

미해결

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

여기서 oi.order.id in 을사용하셨는데욤 이곳은 배치사이즈가 안먹히나요?~~ 배치사이즈설정도 in 쿼리로 나가는걸로 이해를해서요~ List<OrderItemQueryDto> orderItems = em.createQuery( "select new jpabook.jpashop.repository.order.query.OrderItemQueryDto " + " ( oi.order.id, i.name, oi.orderPrice, oi.count )" + "from OrderItem oi " + " join oi.item i " + " where oi.order.id in :orderIds ", OrderItemQueryDto.class) .setParameter("orderIds", orderIds) .getResultList();

  • JPA
  • spring-boot
  • java
  • spring
woojin126 댓글 2 좋아요 3 조회수 484

@CreationTimestamp와 @CreatedDate의 선택

미해결

실전! 스프링 데이터 JPA

저는 평소에 실무에서 @CreationTimestamp를 썼는데요. 이게 하이버네이트에서 제공하는 건줄도 모르고 그냥 막 사용했는데, 이번에 영한님 강의에서 @CreatedDate를 알게되어 둘을 비교해보니 @CreationTimestamp 는 하이버네이트 제공 @CreatedDate 는 스프링 프레임워크 제공 인 것 같더라고요 @CreationTimestamp는 JPA의 표준이 아니라 하이버네이트에서 제공하는 거라 아무래도 나중에 그럴일은 없겠지만, JPA 구현체를 하이버네이트 말고 딴거로 바꾸면 못쓴다는 단점이 있을 것 같긴 한데, @CreationTimestamp를 쓰면 @EnableJpaAuditing 같은거 안 해줘도 돼서 편하더라고요. 실무에서는 어떤 방식이 더 선호되나요?

  • @CreatedTimestamp
  • JPA
  • @CreatedDate
  • java
  • spring-boot
  • spring
제이크서 댓글 1 좋아요 2 조회수 5663

수업자료 오류

미해결

문과생도, 비전공자도, 누구나 배울 수 있는 파이썬(Python)!

수업자료를 다운로드 받았지만 압축해제가 되지 않습니다.

  • python
youngjoo.kim 댓글 3 좋아요 0 조회수 493

강사님 외람된 질문입니다만 ...

미해결

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

너무 실례되는 질문인걸 알지만 도저히 못찾겠어서 그러는데요 unInjection 옵션을 켜기 전에는 다 코드상에서 jpql을 인식해서 자동완성을 좀 편하게 했는데요 이번에 따라 치다가 unInjection 한 후로 모든 파일에 jpql이 그냥 일반 string으로 인식되더라구요 ㅠㅠ 이거 코드 하나하나 injection 하는거 말고 다 같이 injection 하는거 없을까요 ?

  • JPA
  • java
원석나 댓글 2 좋아요 0 조회수 530

test 코드

미해결

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

OrderService의 order 메소드에 대한 단위 테스트를 작성해보려는 중에 질문이 생겨서 문의드립니다! orderRepository에서 save(order)를 하려면 Order객체를 만들어줘야하는데 Order 객체를 만드는게 Member, Delivery, OrderItem 이게 필요하니깐 테스트 코드에서 일일이 생성해서 만들어준 다음에 when(orderRepository.findOne(orderId)).thenReturn(만든 order객체) 요런식으로 해줘야 할까요? 아래는 그냥 제가 끄적여 본건데 단위테스트가 독립적인 테스트라 해서 Mockito를 이용해 짜본건데 맞게 했는지 잘 모르겠습니다... OrderService의 order 메소드에 대한 단위 테스트는 어떤식으로 짜면 좋을지 조언 부탁드립니다...! @Mock private OrderRepository orderRepository; @InjectMocks private OrderService orderService; @Mock private MemberRepository memberRepository; @Mock private ItemRepository itemRepository; @Test public void 상품_주문(){ //given Member member = createMember(); Item item = createBook("시골JPA", 10000, 10); int orderCount = 2; //when when(memberRepository.findOne(member.getId())).thenReturn(member); when(itemRepository.findOne(item.getId())).thenReturn(item); doNothing().when(orderRepository).save(any(Order.class)); Long orderId = orderService.order(member.getId(), item.getId(), orderCount); //then //when(orderRepository.findOne(orderId)).thenReturn() Order getOrder = orderRepository.findOne(orderId); assertEquals("상품 주문시 상태는 ORDER", OrderStatus.ORDER, getOrder.getStatus()); assertEquals("주문한 상품 종류 수가 정확해야 한다.",1, getOrder.getOrderItems().size()); assertEquals("주문 가격은 가격 * 수량이다.", 10000 * 2, getOrder.getTotalPrice()); assertEquals("주문 수량만큼 재고가 줄어야 한다.",8, item.getStockQuantity()); }

  • spring-boot
  • spring
  • 웹앱
  • java
  • JPA
김나연 댓글 1 좋아요 0 조회수 216

필드에 있는 컬렉션을 초기화 시키는 이유가 뭔가요?

미해결

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

List<Order> orders = new ArrayList<>(); 이렇게 컬렉션만 초기화 해주는 이유가 궁금합니다. 단순히 NPE 방지를 위해서인가요? 그렇다면 왜 래퍼 클래스는 초기화 하지 않나요?

  • java
  • spring-boot
  • 웹앱
  • JPA
  • spring
Gareeo 댓글 1 좋아요 1 조회수 1952

강의 업로드 일정 질문있습니다.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

영한님 강의 매우 잘 듣고 있습니다. 9월까지 모든 강의를 다 들을 것 같은데 혹시 "스프링 DB 접근 기술"과 "스프링 부트"는 언제 쯤 나오나요? 감사합니다.

  • MVC
  • java
  • spring
  • spring-boot
댓글 1 좋아요 0 조회수 174

이 강의를 다 들은 후 어떤 로드맵을 따라갈까요?

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

이 강의를 들으며 스프링을 처음 공부해봤습니다. 이 강의를 다 들은 후 [스프링 완전 정복]로드맵을 들을지 [스프링부트와 JPA 완전 정복]을 들을지 고민이 되는데, 추천해주실 수 있나요? 현재 저의 상황을 말씀드리자면 이 강의를 듣기 전 장고로 간단하게 개인 프로젝트를 해본 적이 있습니다. 규모는 크지 않고 간단한 CRUD 정도 해봤습니다. 현재 앱개발 외주를 받았는데, UI를 만드는 사람은 따로 있고 저는 백엔드 서버만 개발하면 됩니다. (외주 개발 기간은 2달 +@ 입니다. 기능은 로그인, 회원가입, 결제.. 등이 있고 택배 어플과 유사한 기능을 하는 앱입니다) 이런 상황을 전체적으로 고려했을 때 어떤 로드맵이 더 좋을까요? 참고로 김영한님의 모든 강의는 이미 구매했습니다.

  • spring
  • spring-boot
  • MVC
  • java
댓글 1 좋아요 0 조회수 306

@EmbeddedId 관련 질문

미해결

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

안녕하세요 선생님, DDD 공부하면서 적용해보던 중 JPA 관련 궁금한 점이 생겨 질문드립니다. 애그리거트 루트에 해당하는 엔티티의 @Id 필드를 아래와 같이 작성하는 것보다, Member 엔티티 @NoArgsConstructor(access = AccessLevel.PROTECTED) @Table(name = "members") @Entity public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String email; private String password; @Builder public Member(String email, String password) { this.email = email; this.password = password; } } 아래와 같이 값 타입을 만들어 사용하는 것이 의미상 명확하고, 다른 애그리거트에서 해당 애그리거트 루트의 Id를 참조할 때도 직관적이겠다 생각했습니다. MemberId 값 타입 @EqualsAndHashCode @NoArgsConstructor(access = AccessLevel.PROTECTED) @Embeddable public class MemberId implements Serializable { @Column(name = "member_id") private Long id; public MemberId(Long id) { this.id = id; } } Member 엔티티 @NoArgsConstructor(access = AccessLevel.PROTECTED) @Table(name = "members") @Entity public class Member { @EmbeddedId @GeneratedValue(strategy = GenerationType.IDENTITY) private MemberId memberId; private String email; private String password; @Builder public Member(String email, String password) { this.email = email; this.password = password; } } 그런데 문제는 @Id에 해당하는 필드에 값 타입을 사용하면 @GeneratedValue가 정상적으로 동작하지 않았습니다. 찾아보니, @Id에 해당하는 필드에 값 타입이 쓰이면 복합키로 인식해 @GeneratedValue를 무시한다는 것을 알았습니다. 제가 여쭙고 싶은 질문은 다음과 같습니다. 1) 위와 같이 애그리거트 루트의 Id를 값 타입으로 만들어 사용할 때, auto_increment 기능 또한 사용할 수 있는 방법이 있는지 궁금합니다. 2) 선생님께서는 위와 같이 값 타입을 생성해 애그리거트 루트의 Id로 사용하는 것에 대해서 어떻게 생각하시는 지 궁금합니다. 항상 좋은 강의 감사합니다.

  • jpa
  • 값타입
  • JPA
  • java
park 댓글 2 좋아요 0 조회수 1120

confidence threshold에 관한 질문

해결됨

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

안녕하세요. 이전 강의인 NMS에서도 궁금했는데, confidence 임계값이 어떻게 결정되는지 궁금합니다. IOU 같은 경우는 식으로 설명해주셔서 이해가 가는데, confidence 임계값인 경우에는 그런 것이 없더라구요. 좋은 강의 항상 잘 듣고있습니다. 감사합니다.

  • 딥러닝
  • 컴퓨터-비전
  • python
  • keras
  • 머신러닝 배워볼래요?
  • tensorflow
alsdn2530 댓글 1 좋아요 0 조회수 1979

autocomplete 에 대하여

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

print 나 import 타이핑 할때 영상처럼 autocomplete 인지는 잘 모르겠는데 밑에 관련 되는 언어들이 뜨는데 전 안떠서 그러는데 무슨 문제인가요? 예를들어 import 치셧을때 밑에 ImportError 이런것들은 영상에 선생님은 뜨시는데 전안뜹니다. java언어로 치면 컨트롤+스페이스바 치면 뜨는데 파이썬도 그런 기능이있나요?

  • python
  • python
luckseok1 댓글 1 좋아요 0 조회수 179

이해가 안가는 부분이 있습니다.. 선생님들.. 도와주세요..!!

미해결

자바 프로그래밍 입문 강좌 (renew ver.) - 초보부터 개발자 취업까지!!

지금 배우고있는 배열 관련해서 입니다. 영상에서는 아직 Scanner에 관해서는 정확히 알려주지 않았지만 너무 궁금하고, 왜 마지막에 scanner. close(); 를 하는지도 잘 모르겠습니다. 그리고 Scanner scanner = new Scanner(System.in); 이 코드에 적혀있던데, Scanner(System.in) 인지도 잘 모르겠어요 ㅠㅠ 그리고 System.out.printf("%s의 점수를 입력하시오 : " ,name[0]); score[0] = scanner.nextInt();을 사용하던데 nextInt(); 이 부분을 왜 사용하고, 무슨 의미인지 이해가 안갑니다... 정말정말 마지막으로 ㅠㅠ 마지막 출력할 때 System.out.printf("%s 점수 : \t%.2f\n", name[0], (double) score[0]); 이 부분에서 \t%.2f\n 에서 \t은 칸을 띄어 주는거는 알겠고, %.2f 이 부분은 소수점을 두자리까지 보여주겠다는걸로 추측중이긴한데, 아직 잘 모르겠어서... 헷갈립니다..ㅜㅠ \n 이 부분은 개행(?) 으로 알고있는데 정확히 찾아봐도 개행의 뜻을 잘 모르겠고, 개행이란것을 어떨 때 사용하는지도 잘 모르겠습니다 ㅜㅠ printf 일때는 무조건 사용하는건가요?? 그리고 ㅠㅠ system.out.printf("--------------- 평 점" : \t%.2f" , ave); 마지막 이부분에서 평점앞에 ------ 이것들은 왜 붙여주는건가요?? 이제 막 입문이라서 정말 아무것도 몰라서... 궁금한것이 굉장히 많아요..ㅜㅜ 많은 개발자 형누님들... 불쌍한 어린양 한번만 구해주세요.. 부탁드립니다..

  • 자바
  • java
츄르보단캣닢 댓글 1 좋아요 0 조회수 337

series nonlocal 안해도 되는 이유

미해결

우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)

def closure_ex1 (): # Free variable # 클로저 영역 series = [] def averager (v): # 여기는 nonlocal 안해도 되는 이유가 뭔가요? series.append(v) print ( f'inner >>> { series } / { len (series) } ' ) return sum (series) / len (series) return averager avg_closure1 = closure_ex1() print (avg_closure1( 10 )) print (avg_closure1( 20 )) print (avg_closure1( 30 )) averager 함수에서 series에 nonlocal 왜 안적어도 되는 건가요?

  • closure
  • python
  • django
돈가스날다 댓글 3 좋아요 1 조회수 301

Notion 엑세스 질문

해결됨

Java 디자인 패턴

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! PDF 파일에 Notion관련 하이퍼링크가 있어서 들어갔는데, access 권한이 없어서 글을 읽을 수가 없습니다. 혹시 Notion의 Share 기능을 통해 웹 공유 체크하지 않으셨는지 궁금합니다.

  • notion
  • access
  • 디자인-패턴
  • java
Seungwoo Ham 댓글 1 좋아요 0 조회수 287

간단한 로그인 api 적용

미해결

작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지

안녕하세요 좋은 강의 만들어주셔서 감사합니다 django 강의를 마친 후 이를 바탕으로 로그인, 회원가입, 프로필 확인, 삭제 정도 가능한 프로젝트를 새로 만들었습니다. 이를 바탕으로 강의의 profile 모델을 기반으로 한 간단한 api를 만들었고 지금 목적은 이 api를 기준으로 새로만든 django 프로젝트의 MODEL부분을 모두 api에서 관리하도록 적용하고싶은 학생입니다. 제가 만든 api의 명세서 입니다. https://documenter.getpostman.com/view/15940594/Tzm6kvP2 #accountapp/create.html {% extends 'base.html' %} {% load bootstrap4 %} {% block content %} <div style =" text-align : center ; max-width : 500 px ; margin : 4 rem auto ; " > <div class ="mb-4" > <h4> Signup </h4> </div> <form action ="{% url 'accountapp:create' %}" method ="post" > {% csrf_token %} {% bootstrap_form form %} <input type ="submit" class = "btn btn-dark rounded-pill col-6 mt-3" > </form> </div> {% endblock %} 에서 <form action ="{% url 'accountapp:create' %}" method ="post" > 이 부분의 url을 바꾸면서 class AccountCreateView(CreateView): model = User form_class = UserCreationForm success_url = reverse_lazy( 'profileapp:create' ) # reverse_lazy 는 클래스형 뷰에서 reverse 는 함수형 뷰에서 template_name = 'accountapp/create.html' 이 부분을 함수형 뷰로 바꿔서 진행하려는데 위에 만든 api의 json 형식을 어떤식으로 읽고 쓰게 할 수 있는지에 대한 방법론이 궁금합니다... 참고로 rest api 서버의 스토리지는 mariadb이고 추후에는 현 django 프로젝트의 모델을 전부 삭제하고 api로만 진행할 생각입니다. 소셜 로그인과 비슷한 형태로 진행하려고 했는데 참 힘들더라구요.. 공부가 부족한 것 같습니다 ------------------------------------------ 현재 방법을 찾던 중 https://www.daleseo.com/python-json/ 위 포스트를 보고 파이썬 내장 모듈인 json 모듈을 통해 입력받는 것을 공부중에 있습니다 혹시 다른 방법이 있는지 이 방법을 사용할 경우 문제점이 무엇인지 알려주시면 감사하겠습니다 ---------------------------------------------------------------------------- #accountapp/views.py import json , requests # Create your views here. def web_request (method_name , url , dict_data , is_urlencoded= True ): """Web GET or POST request 를 호출 후 그 결과를 dict 형으로 반환 """ method_name = method_name.upper() # 메소드이름을 대문자로 바꾼다 if method_name not in ( 'GET' , 'POST' ): raise Exception ( 'method_name is GET or POST plz...' ) if method_name == 'GET' : # GET 방식인 경우 response = requests.get( url =url , params =dict_data) elif method_name == 'POST' : # POST 방식인 경우 if is_urlencoded is True : response = requests.post( url =url , data =dict_data , headers ={ 'Content-Type' : 'application/x-www-form-urlencoded' }) else : response = requests.post( url =url , data =json.dumps(dict_data) , headers ={ 'Content-Type' : 'application/json' }) dict_meta = { 'status_code' : response.status_code , 'ok' : response.ok , 'encoding' : response.encoding , 'Content-Type' : response.headers[ 'Content-Type' ]} if 'json' in str (response.headers[ 'Content-Type' ]): # JSON 형태인 경우 return {**dict_meta , **response.json()} else : # 문자열 형태인 경우 return {**dict_meta , **{ 'text' : response.text}} python에서 http메소드의 post와 get을 사용할 수 있는 함수를 views.py 에 추가해주고 def signup (request): if request.method == 'POST' : print ( ' 리퀘스트 로그 ' + str (request.body)) username = request.POST.get( 'userid' , '' ) password = request.POST.get( 'userpw' , '' ) pw2 = request.POST.get( 'userpw2' , '' ) print (username , password , pw2) if password == pw2: json_signup = {} json_signup[ "username" ] = username json_signup[ "password" ] = password url = 'http://APIhost:port/register/' # 접속할 사이트주소 또는 IP 주소를 입력한다 data = json_signup # 요청할 데이터 # (example) data = {"username":"test123","password":"testword123"} print (data) response = web_request( method_name = 'POST' , url =url , dict_data =data) return HttpResponse( 'success' ) return render(request , "accounts/signup.html" ) 탬플릿의 http에서 따온 변수 userid, userpw를 따와서 파이썬 내장 모듈인 json을 통해서 json파일을 만들고 data 변수에 입력하고 위에서 만든 함수를 통해 api에 json 으로 POST 요청을 보내는 함수를 디자인하여 해결했습니다. 위 처럼 json을 통해 로그인과 패스워드를 api 서버와 주고받는다면 보안적으로 이슈가 될 만한 사항이 있을까요? -----------------------------------

  • django
  • python
  • http
  • django
  • api
  • docker
JunR 댓글 1 좋아요 0 조회수 331

EntityManager 싱글톤

미해결

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

https://www.inflearn.com/questions/158967 먼저 다른 여기 부분에서 질문이 있습니다. " 스프링 프레임워크는 여기에 실제 EntityManager를 주입하는 것이 아니라, 사실은 실제 EntityManager를 연결해주는 가짜 EntityManager를 주입해둡니다. " 말씀을 하셨는데 풀어서 제가 이해한내용은 가짜로 주입을 하고 실제 비즈니스 로직을 탈때 예시를 들면 사용자A가 사용을 하고 EntityManager 가 실행 될때 실제로 EntityManager를 호출하고 로직이 끝나면 가짜 EntityManager를 주입하고 사용자B가 호출을 하면 가짜 EntityManager가 실제 EntityManager를 호출하여 실행이 되서 싱글톤이긴 하나.. 분기(?) 처리해서 EntityManager를 사용하고 있다라고 이해를 하고 있는데 맞을까요.. 아니라고 하면 풀어서 설명이 가능할까요? 초보적인 질문을 드려서 죄송합니다..

  • 싱글톤
  • java
  • spring-boot
  • JPA
  • spring
  • 웹앱
오개발 댓글 1 좋아요 0 조회수 702

인기 태그

인프런 TOP Writers

주간 인기글