묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
member에서 orders 검색 자주 하지 않나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]보통 쇼핑몰 사이트에서 각 member(사용자)들이 자기가 무엇을 주문 했었는지 확인하기 위해 orders를 자주 보지 않나요? 그런데 왜 여기서는 member가 orders를 가지는 것이 의미가 없다고 하는지 이해가 잘 안돼요!
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
트랜잭션 적용 확인
[질문 내용]TxBasicTest 클래스 안에 BasicService가 있는데 왜 Autowired로 의존성주입이 필요한지 헷갈리고 궁금합니다ㅠㅠ
-
미해결실전! 스프링 데이터 JPA
@SQLInsert 관련 질문입니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요?아니오2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]@Data @Entity(name="ha2_meta_usable_customlog_table") @Table(uniqueConstraints = { @UniqueConstraint(columnNames = {"category", "grouping"}) }) @SQLInsert(sql="REPLACE INTO ha2_meta_usable_customlog_table(category, grouping) VALUES(?,?)") public class Table{ @Id @GeneratedValue private long idx; @Column private String category; @Column private String grouping; } 코드가 위와 같은데 @SQLInsert 가 어떻게 적용되는건지 잘 모르겠어서 질문남깁니다...
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
Id가 IDEDNTITY일때 변경 감지 작동 질문이요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.Id 필드가 IDENTITY 전략일때 setUserName("C")라고 할 경우 변경 감지로 인해 update문이 쿼리되지 않고 insert 되는 이유가 JPA가 DB에 접근하기 전까지 PK값을 알수 없기 때문에 변경 감지가 작동하지 못하고 insert 쿼리만 날리게 되는건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
jpa 내보내는 쿼리가 작동은 하나 이상함
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.상품목록 조회시 로그를 보면 아래와 같은 쿼리 로그가 나옵니다.Hibernate: select item0_.item_id as item_id2_3_, item0_.name as name3_3_, item0_.price as price4_3_, item0_.stock_quantity as stock_qu5_3_, item0_.artist as artist6_3_, item0_.etc as etc7_3_, item0_.author as author8_3_, item0_.isbn as isbn9_3_, item0_.actor as actor10_3_, item0_.director as directo11_3_, item0_.dtype as dtype1_3_ from item item0_ 정상적인 쿼리라면 아래와 같을것 같습니다.Hibernate: select item.item_id , item.name , item.price , item.stock_quantity , item.artist , item.etc , item.author , item.isbn , item.actor , item.director , item.dtype from item item 머 결과야 똑같이 나오지만 인서트 할때는 테이블 명이나 컬럼 명칭 변경없이 깔끔하게 아래와 같이 쿼리 로그가 나오는데Hibernate: insert into item (name, price, stock_quantity, author, isbn, dtype, item_id) values (?, ?, ?, ?, ?, 'B', ?) 왜 select에서 저렇게 하는지 궁금하고 혹시 이때문에 유의할점이 없는지도 궁금합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
User와 loanhistory 관계
User가 UserLoanHistory를 가지게 됨으로써 대출하는 로직이 간단해지지만 UserLoanHistory관련 CRUD를 전부 User에서 비즈니스 로직을 처리해야하는 건가요? User가 처리하는 로직이 너무 많아지는 것 같아 이게 객체지향적인 게 맞나 고민이 되네요 현재 경우는 C U 밖에 없지만 만약 예를 들어서 작가와 책 엔티티가 있을 때 연관관계의 주인은 책에 있지만 작가가 보유한 책을 조회하는 로직을 더 간편하게 처리하기 위해 작가는 책을 리스트로 가지면서 생명주기를 관리하면, 책을 수정하거나 삭제할 때도 무조건 작가의 도메인에서 로직을 처리하게 되는 건가요? 단일책임원칙을 위배하는 것이 아닌가 고민이 되어 질문드립니다!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
영상이 한참전에 만든 영상같네요.
개인적으론 아쉽네요. JDK, JPA, H2 버전을 보니 최소 3년 이상 된듯.. javax가 jakarta로 넘어간게 2021년도 였나 그런데.. 1.8버전이면 한참된듯..일단 수업자료 받은걸로 참고하면서 진행하겠습니다.
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
jsonignore와 지연로딩?
[섹션3 - 간단한 주문조회 V1 엔티티를 직접 노출] 강의에서[6:09] 처음에 api를 호출했을때는 양방향 연관관계 때문에 무한루프가 발생하였는데요, 이때는 지연로딩에 의한 이슈가 없었는데[11:07] JsonIgnore를 추가하여 순환 참조가 되는 상황을 제거했을때는 왜 지연로딩에 의한 이슈가 생기는 건가요??잘 동작하던 프록시객체가 JsonIgnore가 생겼다고 에러가 나는 상황이 잘 이해가 안되어 질문을 올립니다
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
섹션 4 - 회원 기능 테스트 강의에서 중복_회원_예외()메서드를 실행할 때 INSERT 쿼리가 실행되는 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]package jpabook.jpashop.service;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.annotation.Rollback;import org.springframework.transaction.annotation.Transactional;import jpabook.jpashop.domain.Member;@SpringBootTest@Transactionalpublic class MemberServiceTest { @Autowired private jpabook.jpashop.repository.MemberRepository memberRepository; @Autowired private MemberService memberService;// @Test//// @Rollback(false)// public void 회원가입() throws Exception {// // given// Member member = new Member();// member.setName("kim");// // // when// Long savedId = memberService.join(member);// // // then// Assertions.assertThat(member).isEqualTo(memberRepository.findOne(savedId));// } @Test// @Rollback(false) public void 중복_회원_예외() throws Exception { // given Member member1 = new Member(); member1.setName("kim"); Member member2 = new Member(); member2.setName("kim"); // when memberService.join(member1); try { memberService.join(member2); } catch (IllegalStateException e) { return; } // then Assertions.fail("예외가 발생해야 한다."); }}저는 JUnit5를 사용헀기 때문에 위와 같이 코드를 작성했는데요주석 처리한 회원가입() 메서드를 실행할 때는 강사님처럼 INSERT 쿼리가 실행되지 않는 것을 확인했지만, 중복_회원_예외() 메서드를 실행할 때는 INSERT 쿼리가 실행되는 것을 확인했습니다.2024-04-02T00:01:22.883+09:00 DEBUG 26044 --- [jpashop] [ main] org.hibernate.SQL :insertintomember(city, street, zipcode, name, member_id)values(?, ?, ?, ?, ?)2024-04-02T00:01:22.885+09:00 TRACE 26044 --- [jpashop] [ main] org.hibernate.orm.jdbc.bind : binding parameter (1:VARCHAR) <- [null]2024-04-02T00:01:22.885+09:00 TRACE 26044 --- [jpashop] [ main] org.hibernate.orm.jdbc.bind : binding parameter (2:VARCHAR) <- [null]2024-04-02T00:01:22.885+09:00 TRACE 26044 --- [jpashop] [ main] org.hibernate.orm.jdbc.bind : binding parameter (3:VARCHAR) <- [null]2024-04-02T00:01:22.885+09:00 TRACE 26044 --- [jpashop] [ main] org.hibernate.orm.jdbc.bind : binding parameter (4:VARCHAR) <- [kim]2024-04-02T00:01:22.885+09:00 TRACE 26044 --- [jpashop] [ main] org.hibernate.orm.jdbc.bind : binding parameter (5:BIGINT) <- [1]2024-04-02T00:01:22.886+09:00 INFO 26044 --- [jpashop] [ main] p6spy : #1711983682886 | took 0ms | statement | connection 4| url jdbc:h2:tcp://localhost/~/jpashopinsert into member (city,street,zipcode,name,member_id) values (?,?,?,?,?)insert into member (city,street,zipcode,name,member_id) values (NULL,NULL,NULL,'kim',1);위 로그는 해당 로그인데 혹시 이유를 알 수 있을까요?
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
영속성컨테스트는 메모리에 저장되는건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]영속성컨테스트는 메모리에 저장되는건가요?1차 캐시라고 하길래cpu에 있는 캐시에 저장하는건가요?캐시라는게 정확한 의미가 뭔가요?제가 아는 캐시는 cpu에 있는 캐시를 알고있습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
N+1 문제 관련 10:22초 부분 질문드립니다.
해당 부분에서 페치 조인을 하지 않는 이상 지연로딩을 하든, 즉시로딩을 하든 N+1 문제가 발생하게 된다고 하셨는데요. 즉시로딩을 하게되면 연관된 엔티티를 한번에 가져오기 때문에 N+1 문제를 피할 수 있지 않나요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.2024-04-01T15:54:52.319+09:00 ERROR 11136 --- [ restartedMain] o.s.boot.SpringApplication : Application run failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'initDb': Invocation of init method failed . . .Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing : jpabook.jpashop.domain.Order.delivery -> jpabook.jpashop.domain.Delivery . . .Caused by: java.lang.IllegalStateException: org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing : jpabook.jpashop.domain.Order.delivery -> jpabook.jpashop.domain.Delivery . . .Caused by: org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing : jpabook.jpashop.domain.Order.delivery -> jpabook.jpashop.domain.Delivery at org.hibernate.engine.spi.CascadingActions$8.noCascade(CascadingActions.java:372) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.engine.internal.Cascade.cascade(Cascade.java:173) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.event.internal.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:161) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.event.internal.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:144) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:79) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:40) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1403) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] ... 44 common frames omittedDeprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.For more on this, please refer to https://docs.gradle.org/8.6/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing : jpabook.jpashop.domain.Order.delivery -> jpabook.jpashop.domain.DeliveryCaused by: java.lang.IllegalStateException: org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing : jpabook.jpashop.domain.Order.delivery -> jpabook.jpashop.domain.DeliveryCaused by: org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing : jpabook.jpashop.domain.Order.delivery -> jpabook.jpashop.domain.Delivery 에러메시지가 위와 같이 떠서 구글에서 해결방법들을 찾아서 해봤는데 다 해결되지 않았습니다 ㅠㅠ 혹시 어떻게 해야할까요?
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
repository에 ProductSearch랑 Impl을 작성하셧는데
섹션2 영상에선 TodoSearch랑 TodoSearchImpl 작성한건 어떻게 해야하나요 Todo 삭제하고 이번 수업에 있는 ProductSearch, ProductSearchImpl로 다 바꿔야 하는건가요 ?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
soft delete 라는 것을 알고 있습니다. 이에 대해 cascade 하게 삭제가 가능할까요?
만약에 Review 가 있고, Review 에 대해 좋아요 기능이 있습니다.기존 Hard Delete 시 좋아요 엔티티에 @ManyToOne 에 @OnDelete(action = OnDeleteAction.CASCADE) 를 사용 리뷰 삭제시 리뷰에 대한 좋아요도 삭제할 수 있었습니다. 그런데 Review에 대해 Soft Delete 시, 리뷰에 대한 좋아요는 Hard Delete로 삭제한다면 이를 어떻게 구현하면 좋을까요?? 1) Review가 delete 될 때마다 그냥 서비스 코드에 리뷰 좋아요 를 Hard delete 로 삭제하는 부분을 작성한다: @OnDelete 쓰다가 이거 쓰면 서러울 것 같아요.2) DB trigger 를 사용한다. : 애플리케이션에서 코드에서 명시해서 적용할 방법은 없나???3) EventLister 를 사용한다. : 이러면 Review 가 Update 될 때마다 @PostUpdate 해서 칼럼이 Deleted가 true인지 확인해야 되는데 .. Review 의 delete 칼럼이 업데이트 될때만 적용되는게 아니라 다른 칼럼이 업데이트 될때 이 부분을 항상 체크해주어야 해서 비효율적일것 같구! 4) 양방향 연관관계를 쓰기 싫은데 어거지로 써서 @OneToMany(cascade=remove) 를 사용한다. 1,2,3,4 다 마음에 안드는데 영한 님은 어떻게 사용하실까요?
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
npm start 하면 발생되는 에러 메시지
(node:8952) [DEP_WEBPACK_DEV_SERVER_ON_AFTER_SETUP_MIDDLEWARE] DeprecationWarning: 'onAfterSetupMiddleware' option is deprecated. Please use the 'setupMiddlewares' option. (Use `node --trace-deprecation ...` to show where the warning was created) (node:8952) [DEP_WEBPACK_DEV_SERVER_ON_BEFORE_SETUP_MIDDLEWARE] DeprecationWarning: 'onBeforeSetupMiddleware' option is deprecated. Please use the 'setupMiddlewares' option. 리액트 실행이랑 강의 내용대로 정상적으로 동작 되는데, npm start 를 수행하면 위와 같은 문구가 출력됩니다. 구글에 검색해봤는데 해결 방법과 원인이 다양해서 적합한 해결책을 못찾았습니다. 무시해도 되는 에러일까요? 어떻게 처리하는지 궁금합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
31강 오류요ㅠㅠ
오류요ㅜㅜㅜ 어노테이션이나 다른 코드같은 거 잘 넣었는데..계속 문제떠요ㅜㅜhttps://github.com/alicelee1231/Spring Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2024-04-01 00:42:10.261 ERROR 6648 --- [ main] o.s.boot.SpringApplication : Application run failedorg.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'bookController' defined in file [/Users/isaemmi/Desktop/library-app/out/production/classes/com/group/libraryapp/controller/book/BookController.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'bookService' defined in file [/Users/isaemmi/Desktop/library-app/out/production/classes/com/group/libraryapp/service/book/BookService.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userLoanHistoryRepository' defined in com.group.libraryapp.domain.user.loanhistory.UserLoanHistoryRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Invocation of init method failed; nested exception is org.springframework.data.repository.query.QueryCreationException: Could not create query for public abstract boolean com.group.libraryapp.domain.user.loanhistory.UserLoanHistoryRepository.existByBookNameAndIsReturn(java.lang.String,boolean); Reason: Failed to create query for method public abstract boolean com.group.libraryapp.domain.user.loanhistory.UserLoanHistoryRepository.existByBookNameAndIsReturn(java.lang.String,boolean)! No property 'existByBookName' found for type 'UserLoanHistory'; nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract boolean com.group.libraryapp.domain.user.loanhistory.UserLoanHistoryRepository.existByBookNameAndIsReturn(java.lang.String,boolean)! No property 'existByBookName' found for type 'UserLoanHistory'at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) ~[spring-beans-5.3.24.jar:5.3.24]at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) ~[spring-beans-5.3.24.jar:5.3.24]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) ~[spring-beans-5.3.24.jar:5.3.24]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) ~[spring-beans-5.3.24.jar:5.3.24]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.24.jar:5.3.24]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.24.jar:5.3.24]at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.24.jar:5.3.24]at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.24.jar:5.3.24]at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.24.jar:5.3.24]at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.24.jar:5.3.24]at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) ~[spring-beans-5.3.24.jar:5.3.24]at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.24.jar:5.3.24]at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.24.jar:5.3.24]at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.6.jar:2.7.6]at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) ~[spring-boot-2.7.6.jar:2.7.6]at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.6.jar:2.7.6]at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.7.6.jar:2.7.6]at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) ~[spring-boot-2.7.6.jar:2.7.6]at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) ~[spring-boot-2.7.6.jar:2.7.6]at com.group.libraryapp.LibraryAppApplication.main(LibraryAppApplication.java:10) ~[classes/:na]Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating be
-
해결됨입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
[실습]Thymeleaf- 부트스트랩 템플릿 - 자료가 달라요 ...
안녕하세요 틈틈히 공부 하고 있는데 여기까지 왔네요..이해를 못하는 부분이 좀있어서 첨 부터 다시 보고 여기 까지 왔는데 모르는부분은 인터넷에서 확인하고 알아갔는데 강의 내용에서 알려주신 자료와 강의 하신 자료가 다른거 같아서 이렇게 글 남기네요 Personal - Free Bootstrap Template - Start Bootstrap에서 받은 자료을 받아서 압축 풀면 ======================================== 위처럼 나타납니다. 강의 내용에서 자료를 받은 내용은 이렇더라구요=============================제자료는 강사님의 자료 처럼 Vendor이 없어요...강의 노트를 확인하면 [링크에서 템플릿 파일 다운로드 후 압축을 해제하고, 파일과 폴더를 각각 아래 경로에 추가합니다. 디렉토리가 없다면 만듭니다]라고 적혀 있어서 위 처럼 폴더를 만들긴 했지만 vendor폴더가 없어요 강사님의 git에 있는 벤드를 가져와서 붙여도 되나요?? 그러면 강의 내용을 앞서 가는거 같아서 하다가 말았어요...Vendor 폴더 그냥 폴더만 만들고 계속 강의 들어도 되나요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
test 코드에 static을 사용하는 이유와 new 생성자가 나오는 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]너무 늦게 눈치챈 일이긴 합니다만, 테스트 코드를 짤 때, 강의 전반적으로 static 클래스를 사용하는 것을 발견했습니다. 평소 Config를 구성할 땐 static을 사용하지 않았었는데 말이죠.몇 가지 실험을 통해 발견한 것은@Slf4j 애너테이션이 non-static nested classes엔 지원하지 않는다 였습니다.그렇다면 RollbackTestConfig 클래스에선 스태틱 클래스를 new 키워드로 생성하는 부분은 왜 그런 것인지@TestConfigurationstatic class RollbackTestConfig { @Bean RollbackService rollbackService() { return new RollbackService(); } } , @Slf4j 이외에 static을 쓰는 이유가 무엇인지 궁금합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberService의 join관련 질문
MemberService.java @Transactional public Long join(Member member) { validationDuplicateMember(member); memberRepository.save(member); return member.getId(); }join이 호출되었을 때 insert into member (city, street, zipcode, name, member_id) values (?, ?, ?, ?, ?) 이렇게 로그가 남는데 h2는 IDENTITY를 사용하기 때문에 member_id는 null로 가는게 맞지 않나요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
AddreesEntity 업데이트 쿼리 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의 내용에서 설명하신 부분과는 조금 거리가 있는 내용인 것 같습니다만... 의문점이 풀리지 않아서 질문을 남겨 봅니다. 1:N 단방향 연관관계에 대한 질문이 더 맞을 것 같습니다.강의에서 addressEntity 엔티티와의 연관관계를 OneToMany , 연관관계의 주인을 1쪽에 두셨는데, 쿼리를 보면 addressEntity 에 대한 insert 쿼리가 cascade 때문에 같이 날아가는데 이 시점에서 이미 member_id 즉 addressEntity 입장에서 fk 값이 되는 이 값을 이미 알고 있는걸까요 ? 만약 그렇다면 update 코드는 왜 또한번 jpa 에서 날리는 건지 궁금합니다. 연관관계 주인쪽의 값 변동에 따른 jpa의 추적 메커니즘상 쿼리가 한번 더 날아가는 것일까요 ?