이 문제 답 모르면 제발 JPA 쓰지 마세요. 공부를 하거나. feat 서연

Поделиться
HTML-код
  • Опубликовано: 11 янв 2025

Комментарии •

  • @성남총각
    @성남총각 4 года назад +17

    하이버네이트는 DB설계가 잘되어 있으면 정말 좋지만... 그렇게 실력있는 DA도 드물 뿐더러
    고도화가 태반인 우리나라 SI에서 10년전에 설계된 DB에 컬럼, 테이블, 프로시져 덕지덕지 추가하고...
    그러다 보면 테이블 5개이상 조인은 기본이죠. 지금은 하이버네이트가 어떨지 모르겠는데 제가 7년전쯤에
    사용할때는 서브쿼리, 조인 등에 사용하기가 너무 힘들었어요. 그러다 결국엔 마이바티스로 바꿨지요.

  • @lyra9409
    @lyra9409 4 года назад +15

    기본적으로 mapped by 는 연관관계의 주인이 되지못하는데 거기에다가 값을 넣으니 저렇게 되지않을까요? 연관관계의 주인은 외래참조키를 가지고있는 Book 이 되어야 하고 Book 을 통해서만 외래참조키를 쓰기/변경이 가능한데 말이죠;;

  • @JSvlog
    @JSvlog 5 лет назад +5

    따님 너무 귀여워요 😍 음... 어노테이션 하나가 바로 떠오르긴하는데 정답을 기다려봐야겠군욤 ㅎㅎ🤔 얼마전에 슬랙에도 비슷한 스레드가 있었던 것 같은데!

    • @keesun.b
      @keesun.b  5 лет назад +1

      떙!! ㅋㅋ추가적인 어노테이션은 없어도 됩니다.

    • @JSvlog
      @JSvlog 5 лет назад +1

      앗 네네 맞네욬ㅋㅋㅋㅋ 어노테이션 추가가 아니라 이미 달린 어노테이션에 속성 추가... 정답 확인하고 인프런 강의 구매하러 갑니다 🧐

    • @keesun.b
      @keesun.b  5 лет назад +1

      또 땡!! 몇시간 뒤에 퇴근하니까 곧 올려드리겠습니다. ㅋㅋㅋ

    • @JSvlog
      @JSvlog 5 лет назад +1

      자! 강의 구매하러 갑니다. ㅋㅋㅋㅋㅋ 😢

  • @머찐경호
    @머찐경호 4 года назад +12

    JPA 처음 공부할때도 느낀건데 이문제는 데이터 기반으로 생각하면 간단한 문제인데 이걸 객체기반으로만 생각하면 좀 고민이 될수도 있죠 ㅋㅋ.

  • @viivii6850
    @viivii6850 2 года назад +3

    제목에 끌려서 들어왔는데 애기가 너무너무 귀여워서 무한반복🥰

  • @dowonhwang
    @dowonhwang 2 года назад +16

    난 또 뭐 대단한 개발 스킬이라고...JPA를 쓰라 쓰지 말라는 거지? 다음 강좌 보니깐 변수에 스택 포인터 연결 안되서 그렇다고 하는 거 보고.. 기가 차네..우연히 유투브 알고리즘에 뭐지하고 들어왔는데.. 무슨 강좌 동영상인듯한데.. ORM 프렘 하나 안다고 엄청 건방떠네... 개발 세계에는 님보다 펄펄 날고 날고 나는 사람이 수두룩합니다...

    • @madhandz5
      @madhandz5 Год назад +2

      저랑 생각이 맞으시는분이 여기 계시네요.

    • @gamja-l2w
      @gamja-l2w 4 месяца назад +1

      음. 제가 보기엔 님이 더 건방 떠는 듯. 조금 안다고 대단한 스킬이니 뭐니 하는데~ 이 영상의 사람 발끝도 못 따라가는 사람이 대단하지 않은 거라고 건방떠는 것처럼 보임. 이 사람 이력보면 내용 가지고 딴지 걸 수 없을텐데 ㅋㅋ

    • @linker-r5k
      @linker-r5k 4 месяца назад

      개인적으로 jpa를 사용 안하는데도 포인터를 얕은 지식 정도로 사용하는데
      다이렉트12 언리얼을 개고수인데용 라는거같네요.

  • @maxjang
    @maxjang 2 года назад +2

    기선님 안녕하세요. 항상 영상 잘 보고 있습니다.
    3년 전 글이지만 지금 알고리즘 타서 댓글답니다.
    3년전 스무살 때 고등학교 졸업후에 취업해서 하다가 JPA 사용하면서 겪은 난관이네요..
    공부 하라는 말씀이 딱 와닿습니다.. 이거 모르면 왜 안들어가는지 몰라서 쩔쩔맵니다
    ManyToOne n:1만 쓰다가 양방향으로 ManyToOne, OneToMany로 서로를 연관 사켜주려고 하는데 양방향으로 정작 표기를 안해뒀네요 ㅋㅋㅋㅋ
    3년 넘게 공부하면서 부딪친 난관들의 결실을 맺는 느낌이 들었습니다.. 전 공부한다고 느끼고 했지만 겪은 시행착오들로 익혔지만 다른 분들은 공부하시면서
    미리 익히시면 좋을것같습니다..(고생 안하시려면..)
    감사합니다!

  • @헹-w6f
    @헹-w6f 2 года назад +2

    안녕하세요, 궁금한 게 있습니다.
    JPA에서 FK가 PK로 매핑되었는데, 해당 컬럼이 null이 허용가능하게 하고싶은데, FK 제약조건 오류가 나더라구요
    혹시 관련한 내용에 대해 아시나요?

  • @LegWorkout
    @LegWorkout Год назад +1

    add() 메서드에는 bookStore 에 book 만 추가해줘서 그런거아닌가요 ?
    void add(Book book){
    this.books.add(book);
    book.setbookStore(this);
    }
    뭔가 이렇게 바꾸면 될꺼같아요

  • @otwmoo
    @otwmoo 5 лет назад +3

    도발적인 제목에 넘어와서 보긴 봣는데, 이거 모르면 정말 쓰면 안될 거 같은거는 맡긴 맞는듯..

    • @keesun.b
      @keesun.b  5 лет назад

      다소 자극적이긴 했지만 그래야 한다고 생각합니다.

  • @양태호a
    @양태호a 5 лет назад +9

    따님 너무 귀엽네요 ㅋㅋㅋㅋㅋ

    • @keesun.b
      @keesun.b  5 лет назад

      ㅋㅋㅋ감사합니다.

  • @빈-s8m4h
    @빈-s8m4h 2 года назад +2

    스프링 영상에서는 혼났지만 이번에는 정답을 맞췄습니다ㅎㅎ 늘 좋은 영상 감사드립니다

  • @이동준-p3i
    @이동준-p3i Год назад

    영상 초반에 나오는 얘기가 너무 귀엽네요 ㅋㅋㅋㅋ

  • @kasperdolbergeu
    @kasperdolbergeu 2 месяца назад

    정답 제출: 연관관계의 주인 쪽에서만 수정 가능(mappedBy의 반대편), 보통 연관관계의 주인은 1:N에서 N쪽에 설정함.
    쓰고 이어시청하겠숨다

  • @sangwoobae8973
    @sangwoobae8973 5 лет назад

    많은 하이버네이트 관련 서적중에 가장 먼저 보면 좋을 책 한권만 추천드려요!! (한글로....)

  • @whereismycheese5481
    @whereismycheese5481 4 года назад +5

    따님 덕에 하루 시작이 상큼해졌습니다:)

  • @Bkbkbkbkbkbkbkbkbkbk
    @Bkbkbkbkbkbkbkbkbkbk 2 года назад +3

    연관관계의 주인

  • @bogeun123
    @bogeun123 2 года назад +1

    잘 가~ 하시니까 엉~~ 하면서 가는게 너무 귀엽다 ㅋㅋ

  • @josso2036
    @josso2036 4 года назад +1

    인트로가 맘에 듭니다>.

  • @evan2434
    @evan2434 5 лет назад

    안녕하세요 기선님! 좋은 영상 감사드립니다! 아직 강좌를 듣진 않았지만 처음 JPA나왔을때 결제를 했는데요, 지금 제가 스프링 부트 개념과 활용하고 JPA 2개는 결제를 했는데, 사실 스프링 핵심기술이랑, MVC가 나중에 나와서, 이거 먼저 듣는게 좋을거 같아서 결제 하려고 하는데요, 핵심기술이랑 MVC 결제 할때 기존에 샀던 강좌들 있으면 할인이 되어야 하는거 아닌가요?? 빨리 사서 듣고 싶긴 한데 재정적으로 넉넉하지 않아서 문의 드립니다 MVC는 2월 오픈기념 30%할인이 있지만, 2월에는 못살거 같아서요

    • @keesun.b
      @keesun.b  5 лет назад

      음.. 맞아요 제 강좌들 연계 쿠폰(자동 적용)으로 20% 할인이 적용 되야 할텐데요. 결제 화면으로 넘어가면 자동으로 적용된다고 알고 있거든요. 안되시면 인프런에 문의해 주세요.

  • @tv-to1tb
    @tv-to1tb 5 лет назад +1

    🤔 jpa 알못인데... (오답주의)
    add method 안에서
    파라미터로 받은 북을 add 하기전에
    북스토어 키를 북에다가 set하도록 하면?!
    - sql 직접짜는게 편한 옛날회사개발자

  • @seol1052
    @seol1052 5 лет назад +4

    기선님 웃으실때 디게 행복하게 웃으세요
    딸바보 실듯하네요
    PS ..... mybatis 만세

  • @Iam짱구
    @Iam짱구 4 года назад

    감사합니다. 계속 쓰겠습니당...

  • @ubitoffee
    @ubitoffee 5 лет назад +1

    선댓글 후감상!

    • @ubitoffee
      @ubitoffee 5 лет назад

      아직 갈길이 멀은듯 하니 총총 사라집니다

    • @keesun.b
      @keesun.b  5 лет назад

      ㅋㅋㅋ댓글 감사합니다. 정답은 다음 영상에서 확인해 주세요.

  • @kionisrc
    @kionisrc 4 года назад +2

    네 저는 JPA 잘 사용하겠습니다. 좋은 퀴즈입니다.

  • @LongboardSalgot
    @LongboardSalgot 5 лет назад +1

    프론트 엔드로서 벽넘어 보는듯한 기분이지만.. 잘보고있습니다..
    개발자로 넘어가기 위한 서적 추천받을수 있을까여?

    • @keesun.b
      @keesun.b  5 лет назад +1

      프론트 개발자에서 백엔드 개발자로 넘어가기 위한 서적이요? 글쎄요.. 서버쪽이니까 아무래도 자바나 Node.js 그리고 그 위에 올라가는 프레임워크들 공부하시면 좋치 않을까 싶네요. JPA도 여러 곳에서 쓰긴 하지만 100% 쓰이고 있는건 아니라서.. 막상 쓰는 팀에 들어가게되면 그때 공부하는게 좋을거 같습니다.

  • @akma345
    @akma345 5 лет назад +1

    전 최근에 티아카데미 김영한님 강의에도 잘나옵니다

    • @keesun.b
      @keesun.b  5 лет назад

      맞아요. 저도 그 강좌 본거 같습니다.

  • @nick6267
    @nick6267 5 лет назад

    궁금한게 있어요! jpa에서 수정할 떄 자꾸 select문을 탑니다. 근데 자기꺼만 select해오면 되는데 toString때문인지 연관된 객체들 다 select되버리는 문제가 있습니다 모두 LAZY로 되어있는데도 그러네요 구글에서 검색해서 업데이트 안되는 방법 찾아서 했는데도 안되네요 어떻게 해야 될까요?

    • @keesun.b
      @keesun.b  5 лет назад

      글쎄요. 코드 없이 뭔 일이 벌어지고 있는지는 저도 파악하기가 어렵네요.

    • @nick6267
      @nick6267 5 лет назад

      @@keesun.b
      entity
      @Entity
      @EntityListeners(AuditingEntityListener.class)
      @Data
      @Table(name = "seminar")
      @EqualsAndHashCode(onlyExplicitlyIncluded = true)
      public class Seminar {
      @Id
      @GeneratedValue(strategy = GenerationType.IDENTITY)
      @Column(name = "IDX")
      @EqualsAndHashCode.Include
      private Long idx;
      @Column
      private String title;
      @Column
      private String subtitle;
      @Column
      private String contents;
      @Column
      private String type;
      @Column
      private String address;
      @Column(name = "ticket_count")
      private int ticketCount;
      @OneToOne(fetch = FetchType.LAZY)
      @JoinColumn(name = "seminar_file_idx")
      private SeminarFile seminarFile;
      @Column(name = "start_date")
      private Date startDate;
      @CreatedDate
      @Column(name = "create_date")
      private Date createDate;
      @LastModifiedDate
      @Column(name = "update_date")
      private Date updateDate;
      @OneToOne(fetch = FetchType.LAZY)
      @JoinColumn(name = "create_users_uuid")
      private User createUser;
      --------------------------------------------
      service logic
      Seminar seminar = modelMapper.map(seminarDto, Seminar.class);
      Seminar savedSeminar = seminarDAO.save(seminar);
      저장, 수정 로직 입니다
      저장할 떄는 문제가 없는데 수정할 경우에
      Hibernate: select seminarfil0_.idx as idx1_35_0_, seminarfil0_.content_type as content_2_35_0_, seminarfil0_.create_users_uuid as create_u6_35_0_, seminarfil0_.original_file_name as original3_35_0_, seminarfil0_.save_file_name as save_fil4_35_0_, seminarfil0_.size as size5_35_0_, seminarfil0_.seminar_idx as seminar_7_35_0_ from seminar_file seminarfil0_ where seminarfil0_.idx=?
      Hibernate: select user0_.uuid as uuid1_38_0_, user0_.admin_memo as admin_me2_38_0_, user0_.category_idx as categor16_38_0_, user0_.create_date as create_d3_38_0_, user0_.disable as disable4_38_0_, user0_.email_id as email_id5_38_0_, user0_.join_nation as join_nat6_38_0_, user0_.name as name7_38_0_, user0_.others_recommendation_code as others_r8_38_0_, user0_.password as password9_38_0_, user0_.recommendation_code as recomme10_38_0_, user0_.status as status11_38_0_, user0_.update_date as update_12_38_0_, user0_.users_role_code as users_r17_38_0_, user0_.users_role_root_code as users_r18_38_0_, user0_.withdrawal_admin_memo as withdra13_38_0_, user0_.withdrawal_date as withdra14_38_0_, user0_.withdrawal_memo as withdra15_38_0_, user0_.withdrawal_uuid as withdra19_38_0_ from users user0_ where user0_.uuid=?
      세미나의 연관된 user객체와 file객체를 select해 옴니다 왜 그럴까요?

    • @johnmark8039
      @johnmark8039 4 года назад

      @@nick6267 원투원 관계는 즉시로딩입니다

  • @GeunChangAhn
    @GeunChangAhn 5 лет назад

    이야 조마조마하다가 테스트 코드 보고 앗 이거! 그거! 알았네요 ^^선행학습의 힘 ㅋㅋ

    • @keesun.b
      @keesun.b  5 лет назад +2

      이건 정말 필수에요. 2차 캐싱 이런건 나중에 성능 향상 시킬 때 공부해서 적용해도 되는건데 이건 정말 알고 써야되요.

    • @GeunChangAhn
      @GeunChangAhn 5 лет назад

      @@keesun.b 네. 강조하시니 다시 보고 확실히 정리해야겠네요. 이런 퀴즈도 동기부여가 될 수 있네요^^ 감사합니다~

  • @s-jl9403
    @s-jl9403 2 года назад

    어노테이션으로 해결할 수 있다에 한표 겁니다 ㅋㅋ

  • @kindjoo84
    @kindjoo84 5 лет назад +1

    답이 어떨지 기대되네요 ㅋㅋ

    • @keesun.b
      @keesun.b  5 лет назад +1

      답은 오늘 공개하겠습니다.

  • @AI추종자
    @AI추종자 5 лет назад +1

    스프링 백선생님 강좌를 이미 들어서 그런가 보자마자 머리에 딱 정답이 생각나네요👍👍

    • @keesun.b
      @keesun.b  5 лет назад

      강좌 잘 들어주셔서 감사합니다. 보고 나서도 잘 모르시면 제가 슬퍼요ㅋㅋ

  • @822-q8j
    @822-q8j 11 месяцев назад

    아... 처음엔 틀렸고 두번째에 맞았는데 jpa써도 되나요? ㅋㅋㅋㄱㅋ

  • @하누모카
    @하누모카 5 лет назад

    크 이번 주말에 JPA 달려야지

  • @homies5593
    @homies5593 3 месяца назад

    mybatis 쓰겠습니다.

  • @후웻
    @후웻 5 лет назад

    하이버네이트를 공부해본적이 없는데 괜시리 궁금한게...집가서 해봐야겠네요

    • @keesun.b
      @keesun.b  5 лет назад

      답은 오늘 공개해 드릴께요.

  • @뿡뿡이-e8v
    @뿡뿡이-e8v Год назад

    set을 안했으니 안들어오는게 당연한거 아닌가

  • @okane7255
    @okane7255 2 года назад

    부럽다

  • @dogoori
    @dogoori 5 лет назад +2

    제가 생각하는게 맞는지 느무느무 궁금합니다 언제 다음 영상 나올까요~

    • @keesun.b
      @keesun.b  5 лет назад

      오늘 올려드릴께요.

  • @jaeyujo3728
    @jaeyujo3728 5 лет назад

    감사합니다.

    • @keesun.b
      @keesun.b  5 лет назад

      뎃글 감사합니다.

  • @hanyoungjeong8051
    @hanyoungjeong8051 5 лет назад +3

    반대로 Book에 setBookStore를 한다면? ㅋㅋ

  • @jasonpark6381
    @jasonpark6381 5 лет назад +1

    Coz you are my girl ~

  • @가위-b9p
    @가위-b9p 4 года назад +10

    연관관계의 주인은 Book인데 BookStore 에 Book을 넣어서 그런것 같습니다!

  • @cogidtjr
    @cogidtjr 2 года назад +2

    강의는 좋습니다
    그런데 제목이 어그로라..

  • @hohoji6153
    @hohoji6153 3 года назад

    북쪽이 연관관계 주인이면 다대일 양방향 관계 아닌가요??

  • @예압-p3j
    @예압-p3j 3 года назад

    정답 공개해주시는 오늘은 언제일까요 !!! 댓글에 정답이 안보입니다~!@~!@

  • @jaehongsong8869
    @jaehongsong8869 5 лет назад

    hibernate는 거의 모르는 사람인데요, bookStore에 book을 add해놓고 bookStore를 save한게 아니라 book을 save해서 book인스턴스에는 bookStore 정보가 없는거 아닌가요? 따로 외래키 제한조건도 안걸려있고

    • @keesun.b
      @keesun.b  5 лет назад

      정답과 설명은 오늘 공개해 드릴께요.

  • @kkssrcn
    @kkssrcn 4 года назад +1

    연관관계 주인이 아닌곳에 set을 햇네용

  • @translating-developer
    @translating-developer 5 лет назад +1

    하이버네이트 ㅎㅎ

  • @힙합은안멋져-v2r
    @힙합은안멋져-v2r 3 года назад

    하이버네이투!

  • @twicethis
    @twicethis 5 месяцев назад

    이 분은 왤케 늘 화가 나있어요?

  • @rollkimify
    @rollkimify 5 лет назад +1

    생각이 날랑말랑해서 다시보고 자네요

    • @keesun.b
      @keesun.b  5 лет назад

      정답은 오늘 공개!

  • @OOJOO50
    @OOJOO50 5 лет назад +1

    논리적으로 가능하나 물리적으로 불가능!
    ERD에서 두 테이블간의 다대다

    • @keesun.b
      @keesun.b  5 лет назад

      음.. 글쎄요 ㅋㅋ

  • @figure-kim
    @figure-kim 5 лет назад +2

    서연이 많이컸네요.ㅎㅎㅎ

    • @keesun.b
      @keesun.b  5 лет назад

      부쩍 부쩍 크더라구요.

  • @luno3897
    @luno3897 2 года назад

    하이버네이트는 개념은 좋은데 실제 업무복잡한 si애선 쓰래기

  • @ooo7414
    @ooo7414 Год назад

    휴.. 살았다

  • @zarate4985
    @zarate4985 5 лет назад +1

    연관관계 주인이 아니라서

  • @핵자전거
    @핵자전거 3 года назад +1

    배워하는 것 많고 실수할 가능성 많으면 뭣하러 ORM을 쓰나 싶군요.

    • @keesun.b
      @keesun.b  3 года назад +1

      한번만 공부를 잘 해두면 어마어마한 편의성을 제공하거든요. JDBC로 못돌아가요.

  • @qaztrewqaz9960
    @qaztrewqaz9960 5 лет назад

    CascadeType!!

    • @keesun.b
      @keesun.b  5 лет назад

      과연!!

    • @JSvlog
      @JSvlog 5 лет назад

      저도 요고 생각났었는데 아닌 것 같아요... 😢

    • @keesun.b
      @keesun.b  5 лет назад +1

      이거 의심하시는 분들은 이 영상 제대로 안 보신 듯. BookStore도 저장된거 분명 보여드렸는데.. CascadeType이 무슨 옵션이라고 생각하고 계시길래..

    • @JSvlog
      @JSvlog 5 лет назад

      뜨끔하고 다시 시청하다보니 코드 한줄 고치면 되겠다 싶어서 회사 오자마자 해봤네요. 으~ (영상 대충 넘겨보다 테이블만 보고 영속성 전이가 안됐나 아주 잘못 생각했네요. 자, 그래도 강의 사러 갑니다. 어깨 넘어 배운건 역시 안되겠어요. JPA 다시 공부하겠습니다~ 🤤)

    • @qaztrewqaz9960
      @qaztrewqaz9960 5 лет назад

      CascadeType 에 따라서 JpaRepository 에서 delete 실행후에 db에 그냥 남아있던 경우가 있었는데, 그 생각이 났던거 같네요!

  • @Mmonk111
    @Mmonk111 4 года назад +10

    제목이 참.....인성이.... 드러나네 ...잘나서 좋겠어요.

    • @kkumi_room
      @kkumi_room 4 года назад +1

      뭐지 이 열등감은 Luke님 그 화나고 속상한거 열등감이에요.. 약자마인드. 부디 Alpha Male 이 되시길 바랍니다

    • @Mmonk111
      @Mmonk111 4 года назад +7

      @@kkumi_room 열등감이 아니라 이 아저씨 영상이 우연히 알고리즘 추천으로 떠서 몇편 보기 시작했는데 말투가 참.. 그렇더라구요. QA 대답하는 꼬락서니도 그렇고....올초에 몇편보다 안보고 있었는데 얼마전에 구글신에 의해 또 영상추천이 떴어요. 이 영상이.... 영상에서 보이는 평소 본인태도랑 제목이 어찌나 매치가 되던지....
      본인도 아는것 같아요.
      그리고 다양한 의견이 싫다면 영상을 Private으로 하거나 채널 접으면 되겠죠. 굳이 Public에 오픈해서 어중이 떠중이 얘기 들을 필요도 없고...

    • @kkumi_room
      @kkumi_room 4 года назад +4

      @@Mmonk111 의견이라기에는 비판과 비난같아보여요 Luke님말씀도 뭔지 알겠지만, 지적을위한 지적이아닌 비판을 위한 지적같은 느낌. 사실저는 백기선님 스타일과 맞지않아서 거의 듣지 않는사람인데도 luck 님 말씀이 너무 날카로워보여서 답글달았습니다 ( 조언이라고 생각하고 본인도 모르게 작성하는 악플들을 싫어하는 사람이에요)