inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

em.flush() 궁금한 게 있습니다.

해결됨

실전! 스프링 데이터 JPA

12분 쯤 벌크연산에서 flush()를 날린 뒤에 벌크연산을 수행하니 db에는 41살, 영속성 컨텍스트에는 40살인 채로 남고 그 상태에서 명시적으로 em.flush()를 날리면 db에 40살이 찍히리라 예상 했는데... flush()할 때 단순히 DB와 동기화하는 게 아니라 변경 감지를 통해 쓰기 지연된 부분만 내보내는 것으로 이해했는데 비슷한가요?

  • java
  • spring-boot
  • spring
  • JPA
정현도 댓글 1 좋아요 2 조회수 386

강사님 QueryDSL이 안됩니다..

미해결

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

안녕하세요. 강사님 https://www.inflearn.com/questions/149157 여기 글이랑 같은 오류인데 강사님이 알려주신 링크 들어가니까 권한이 없다고 나오는데.. 방법을 모르겠습니다. ㅜ

  • JPA
  • java
  • spring
  • spring-boot
조재연 댓글 3 좋아요 0 조회수 6285

mappedBy와 cascade를 함께 썼을 때

해결됨

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

mappedBy로 설정된 컬렉션은 읽기만 가능한 줄 알고 있어서 cascade가 적용이 안되는 게 아닌가..? 싶었는데 컬렉션에 엔티티를 추가할 경우 엔티티도 영속화 해주지만 그 엔티티의 FK 값은 반영이 안되는 것 같은데 제가 제대로 이해한 게 맞을까요?

  • java
  • 웹앱
  • JPA
  • spring
  • spring-boot
정현도 댓글 1 좋아요 0 조회수 264

"mvn spring-boot:run"은 구동에 문제없는데, 옵션을 주면 Build Fail 나는 원인을 알 수 있을까요?

미해결

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

알찬 강의 감사드립니다. 초장에 막히는 부분이 있어 질문드려보아요. "mvn spring-boot:run"은 구동에 문제없는데, 옵션을 주면 Build Fail 나는 원인을 알 수 있을까요? > mvn spring-boot:run -Dspring-boot.run.jvmArguments='-Dserver.port=9003' [INFO] Scanning for projects... [INFO] [INFO] ----------------------< com.example:user-service >---------------------- [INFO] Building user-service 0.0.1-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 0.296 s [INFO] Finished at: 2021-05-22T20:43:08+09:00 [INFO] ------------------------------------------------------------------------ [ERROR] Unknown lifecycle phase ".run.jvmArguments=-Dserver.port=9003". You must specify a valid lifecycle phase or a goal in the fo rmat <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: val idate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test -sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-p ackage, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clea n, pre-site, site, post-site, site-deploy. -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/LifecyclePhaseNotFoundException 혹시몰라서 인텔리제이 Maven 설정 캡쳐 받아보았습니다.

  • mvn
  • spring-boot
  • architecture
  • spring-cloud
  • JPA
  • msa
  • Kafka
Truestar 댓글 7 좋아요 0 조회수 1713

컬렉션에 대한 fetch join은 1개만 사용해야 한다에 대한 질문

해결됨

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

안녕하세요 영한님. 간단한 질문을 드리고 싶어서 글 남기게 되었습니다. 강의 마지막에 " 컬렉션(일대다 관계)에 대한 fetch join은 1개만 사용 해야 한다. 2개 이상 붙이면 일대 다대 다 형태가 되어버리기 때문에... " 라고 설명해주셨습니다. 여기서 2개 이상 사용하는 케이스는 아래 두 케이스를 모두 포함하는 것인지 궁금합니다 :) - Order 클래스 내부에 일대다 관계에 대한 필드가 2개인 경우 - Order 클래스 내부에 일대다 관계에 대한 필드가 1개고, 그 필드의 객체 내부에 일대다 관계에 있는 필드가 존재하는 경우 문득 생긴 고민이라 적절한 예시가 생각나지 않네요ㅠㅠ 감사합니다!

  • java
  • spring-boot
  • spring
  • JPA
terry__k 댓글 1 좋아요 5 조회수 402

RemoveRequestHeader 이유

미해결

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

안녕하세요 1. RemoveRequestHeader 를 쓰는 이유가 매번 새롭게 요청받기 위함이라고 하셨는데, 매번 새롭게 요청받아야하는 이유가 무엇일까요? 2. 또한 만약 RemoveRequestHeader 가 존재하지 않는다면 어떻게 될까요? 3. Front 에서 Refresh_token을 httpOnly cookie에 담아서 보내는데 이 경우에는 RemoveRequestHeader 를 사용하지 않고싶다면 쓰지 않아도 될까요? 그로 인해서 발생하는 문제는 무엇일까요?

  • spring-boot
  • architecture
  • JPA
  • spring-cloud
  • Kafka
  • msa
장원익 댓글 2 좋아요 3 조회수 996

H2 SQL 접속 불가 문제입니다.

미해결

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

안녕하세요... 다름이 아니라 DB SQL 문제 때문에 질문드립니다 해당 오류는 H2 DataBase의 접근 오류 문제인거 같습니다. 바로 앞전에 엔티티 매핑에서 부터 뭔가 이상해서 DB를 초기화하고 다시 돌려보니 아예 DB에 데이터 쓰기 자체가 안되는거 같습니다. 참고로 H2 SQL, MY SQL 방언 문제 할 수 있는거 죄다 다해봤는데 도저히 먹히지 않습니다. 다른 방법들은 아예 Spring을 사용해야 되서 아예 xml 파일에서 작동 되지가 않습니다...

  • JPA
  • java
kdh961113 댓글 6 좋아요 0 조회수 3357

jwt 토큰은 보통 어디에서 보관을 하나요?

해결됨

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

안녕하세요 강의 재밌게 보고 있습니다. 제가 프론트엔드에는 무지하여 잘 모르겠는데 jwt 를 서버에서 반환해주면 프론트에서는 일반적으로 어디에 저장을 하다가 요청 보낼때 마다 재사용하나요? 로컬 스토리지나 쿠키 정도 밖에 떠오르는게 없는데 프론트엔드 현업에서 자주 사용하는 방식이 있나요?

  • jwt
  • architecture
  • spring-cloud
  • JPA
  • spring-boot
  • msa
  • Kafka
퇴근후치맥 댓글 4 좋아요 1 조회수 2863

entity끼리 연관관계

미해결

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

안녕하세요! 수업 너무 잘 듣고 있습니다 ㅎㅎ 제가 node로 공부하다가 해당 부분이 헷갈려서 질문 남깁니다! 추가로 entity끼리 연관관계를 설정해주었는 데 연관관계메소드가 필요한 이유가 잘 이해가 안가서 알려주시면 감사드리겠습니다! public void setMember (Member member) { this . member = member ; member.getOrders().add( this ) ; } - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • jpa
  • spring-boot
  • JPA
  • java
  • spring
  • 웹앱
전공 선행입니다 댓글 1 좋아요 0 조회수 251

gradlew dependencies

해결됨

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

안녕하세요. 저는 windows10 사용자입니다. 아래와 같이 인텔리제이 터미널 로컬에 입력하면 실패한다고 뜹니다. C:\study\jpashop>gradlew dependencies FAILURE: Build failed with an exception. * Where: Build file 'C:\study\jpashop\build.gradle' line: 39 * What went wrong: A problem occurred evaluating root project 'jpashop'. > Could not find method testImplementation() for arguments [org.junit.vintage:junit-vintage-engine, build_c5fjxfeq8g2hpdi6kd0zeexhk$_run_closure5@1757541f] on root project 'jpashop' o f type org.gradle.api.Project. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 1s ========================================= 다음은 환경정보입니다. C:\study\jpashop>gradlew -version ------------------------------------------------------------ Gradle 6.8.3 ------------------------------------------------------------ Build time: 2021-02-22 16:13:28 UTC Revision: 9e26b4a9ebb910eaa1b8da8ff8575e514bc61c78 Kotlin: 1.4.20 Groovy: 2.5.12 Ant: Apache Ant(TM) version 1.10.9 compiled on September 27 2020 JVM: 11.0.11 (Oracle Corporation 11.0.11+9-LTS-194) OS: Windows 10 10.0 amd64

  • spring-boot
  • JPA
  • java
  • 웹앱
  • spring
SeJongDeveloper 댓글 1 좋아요 0 조회수 1439

로그 글씨 색깔

미해결

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

빌드해서 실행해봤을 때 아래 로그 색깔이 저는 전부 검은색인데 강사님 화면은 색깔이 다 들어가있어서 질문 드립니다. 따로 설정이나 설치해야 하는 플러그인이 더 있는건가요?

  • 로그
  • 웹앱
  • 빌드
  • spring-boot
  • java
  • spring
  • JPA
댓글 1 좋아요 0 조회수 475

기본값타입 컬렉션은 왜 전체지움과 insert 가 발생하지 않는것인가요?

해결됨

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

임베디드 타입 컬렉션이 추적이 불가능하기 때문에 다 지웠다 생성한다면, 값 타입컬렉션또한 그렇게 발생해야 하는것 아닌가해서 질문드립니다! 치킨 -> 한식 String 변경시에도 같은 이유로 추적이 불가능하기 때문에 변경되어야하는거 아닌가요!? 기본 값 타입 객체는 뭔가 보장이 되기 때문에 그런건가요? 항상 좋은강의 감사드립니다

  • java
  • JPA
최창준 댓글 2 좋아요 9 조회수 622

안녕하세요 질문 드립니다. org.gradle.api.GradleScriptException: A problem occurred evaluating root project 에러가 발생합니다..

미해결

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

마지막 강의에서 queryDsl 설정을 적용했을때 .. 이런 에러가 발생합니다.. 제가 git에서 프로젝트를 올려놓고 프로젝트를 여러환경에서 받아서 그런게 아닐까 생각은 하는데 .. 어떻게 해결을 하면 좋을까요?

  • java
  • JPA
  • spring-boot
  • spring
코드코드챌린지 댓글 1 좋아요 0 조회수 6758

insert 쿼리가 log에 안찍혀요!

미해결

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

test를 실행할 때 insert 로그가 안찍혀요... @Rollback(false)를 설정 했을때는 찍힙니다. @Rollback(false)를 설정하지 않아도 찍히게 하고싶은데 어떻게 해야하나요!?? yml 복붙해서 넣어드립니다... spring : datasource : url : jdbc:h2:tcp://localhost/~/jpashop username : sa password : driver-class-name : org.h2.Driver jpa : hibernate : ddl-auto : create properties : hibernate : format_sql : true logging.level : org.hibernate.SQL : debug org.hibernate.type : trace

  • java
  • spring-boot
  • 웹앱
  • spring
  • JPA
hansol_Shin 댓글 1 좋아요 0 조회수 994

DTO조회와 PROJECTION의 차이가 궁금합니다 !

미해결

실전! 스프링 데이터 JPA

안녕하세요 강사님! 활용편 1,2편에 이어서 이번 실전편도 듣고 있습니다. 활용편 2편에서 DTO로 조회하시는 걸 알려주셨는데요. 언듯 보기에는 DTO로 조회하는 것과 프로젝션으로 조회하는것이 비슷해 보이는데, 제가 지금 이해하기로는 - DTO의 경우 엔티티의 모든 필드를 조회해서 DTO에 넣어준다음에 반환 - 프로젝션의 경우 프로젝션에 선언한 필드만 조회해서 반환 하는 차이만 있는 걸까요? 아니면 제가 잘못알고있거나 이해하지 못한 부분이 있는지 궁금합니다 ! 만약 단순하게 하나의 엔티티를 조회한다 할 경우, DTO와 프로젝션 어느 쪽을 더 선호하시는 지 궁금합니다 ! 감사합니다 !

  • JPA
  • spring
  • spring-boot
  • java
도푸도푸 댓글 1 좋아요 0 조회수 743

컬럼, 테이블 이름 정할 때, 질문 드립니다.

해결됨

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

강사님, 안녕하세요. Item 클래스에서 id의 변수에 @Column(name = "ITEM_ID") private Long id; 위와 같은 식으로 네임 속성으로 ITEM_ID를 주어 데이터베이스의 컬럼과 id 변수의 이름을 맞추신 것 같습니다. 그런데 위에 코드를 private Long item_id; 와 같이 바로 데이터베이스와 맞추어서 persist로 영속성을 주어 DB에 입력하는 방법은 어떤지 궁금합니다. 답변 꼭 부탁드리겠습니다. 감사합니다.

  • @Column
  • @Table
  • JPA
  • java
  • name속성
쿠카이든 댓글 2 좋아요 1 조회수 785

[SQL Error: 23503] Cascade 설정 후 Parent remove할 때 질문입니다.

해결됨

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

안녕하세요! 이전 질문에서 영한님 답변을 받고 원인을 해결하여 다른 경우 또한 테스트해보고 있는데 SQL Error: 23503 에러가 발생했고, 구글링 결과 참조 키 제약조건 위배될 때 발생하는 에러라 하는데 아래 상황에서 왜 이 에러가 뜨는지 모르겠어서 질문을 남깁니다. Parent, child 끼리 연관관계 매핑 후, cascadetype.ALL, orphanRemoval=false로 설정한 후, parent를 삭제할 때 발생한 에러입니다. 먼저 Parent, Child, Main 클래스 코드를 보여드리겠습니다! @Entity public class Parent { @Id @GeneratedValue private Long id; private String name; @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL) private List<Child> children=new ArrayList<>(); public void addChild(Child child){ children.add(child); child.setParent(this); } // getter, setter 생략했습니다 } @Entity public class Child { @Id @GeneratedValue private Long id; private String name; @ManyToOne(fetch = FetchType.LAZY) private Parent parent; // getter, setter 메소드 생략했습니다 } Parent 클래스, Child 클래스는 위와 같이 작성했으며, cascadetype.ALL로 설정해놓았고, 고아 객체 제거는 설정하지 않았습니다. 메인 코드는 아래와 같습니다. public class JpaMain { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em=emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); try{ Parent parent=new Parent(); parent.setName("kth990303"); Child child1=new Child(); child1.setName("kthbaby1"); Child child2=new Child(); child2.setName("kthbaby2"); parent.addChild(child1); parent.addChild(child2); em.persist(parent); em.flush(); em.clear(); Parent findParent = em.find(Parent.class, parent.getId()); System.out.println("===================1"); findParent.getChildren().remove(0); em.remove(findParent); System.out.println("===================3"); tx.commit(); } catch(Exception e){ e.printStackTrace(); tx.rollback(); } finally{ em.close(); } emf.close(); } } 역시 orphanRemoval=true가 아니었기 때문에 findParent.getChildren().remove( 0 ) ; 코드에서, 아무 일이 일어나지 않고 지연로딩으로 인한 child select 쿼리만 날라가는건 예상대로였는데, 문제는 그 아래 em.remove(findParent); 였습니다. 이미 em.find로 영속성 컨텍스트에 정보가 있어 parent를 지울 때 에러가 발생하지 않은 상태로 parent와 children 모두 지워질 줄 알았는데 아래 사진과 같은 에러가 발생했습니다. 사실 parent를 지울 때 그냥 findParent.getChildren().remove(0); 을 작성하지 않고 em.remove(findParent);만 하면 parent가 지워짐과 동시에 children도 모두 잘 지워지는 성공적인 결과가 보이긴 합니다만,,, 위와 같이 코드를 짠 후 실행했더니 SQL ERROR 23503이 뜨는 이유가 궁금하여 질문드립니다. 금쪽같은 주말에 질문을 좀 많이 하는 듯하네요 ㅠㅠ 죄송합니다. 그리고 감사합니다 :) ===================1 Hibernate: select children0_.parent_id as parent_i3_2_0_, children0_.id as id1_2_0_, children0_.id as id1_2_1_, children0_.name as name2_2_1_, children0_.parent_id as parent_i3_2_1_ from Child children0_ where children0_.parent_id=? ===================3 Hibernate: /* delete hellojpa.Child */ delete from Child where id=? Hibernate: /* delete hellojpa.Parent */ delete from Parent where id=? 5월 15, 2021 8:20:45 오후 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions WARN: SQL Error: 23503, SQLState: 23503 5월 15, 2021 8:20:45 오후 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions ERROR: Referential integrity constraint violation: "FKLH67J1N7X7GT59U0PBKWQH6O6: PUBLIC.CHILD FOREIGN KEY(PARENT_ID) REFERENCES PUBLIC.PARENT(ID) (1)"; SQL statement: /* delete hellojpa.Parent */ delete from Parent where id=? [23503-199] 5월 15, 2021 8:20:45 오후 org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl release INFO: HHH000010: On release of batch it still contained JDBC statements javax.persistence.RollbackException: Error while committing the transaction at org.hibernate.internal.ExceptionConverterImpl.convertCommitException(ExceptionConverterImpl.java:81) at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:104) at hellojpa.JpaMain.main(JpaMain.java:43) Caused by: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154) at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181) at org.hibernate.internal.ExceptionConverterImpl.convertCommitException(ExceptionConverterImpl.java:65) ... 2 more Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:59) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:200) at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:45) at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3551) at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3810) at org.hibernate.action.internal.EntityDeleteAction.execute(EntityDeleteAction.java:124) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:604) at org.hibernate.engine.spi.ActionQueue.lambda$executeActions$1(ActionQueue.java:478) at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:475) at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:348) at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:40) at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:102) at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1352) at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:443) at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:3202) at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2370) at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:447) at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:183) at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$300(JdbcResourceLocalTransactionCoordinatorImpl.java:40) at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:281) at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:101) ... 1 more Caused by: org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: Referential integrity constraint violation: "FKLH67J1N7X7GT59U0PBKWQH6O6: PUBLIC.CHILD FOREIGN KEY(PARENT_ID) REFERENCES PUBLIC.PARENT(ID) (1)"; SQL statement: /* delete hellojpa.Parent */ delete from Parent where id=? [23503-200] at org.h2.message.DbException.getJdbcSQLException(DbException.java:459) at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) at org.h2.message.DbException.get(DbException.java:205) at org.h2.message.DbException.get(DbException.java:181) at org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:373) at org.h2.constraint.ConstraintReferential.checkRowRefTable(ConstraintReferential.java:390) at org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:265) at org.h2.table.Table.fireConstraints(Table.java:1057) at org.h2.table.Table.fireAfterRow(Table.java:1075) at org.h2.command.dml.Delete.update(Delete.java:153) at org.h2.command.CommandContainer.update(CommandContainer.java:198) at org.h2.command.Command.executeUpdate(Command.java:251) at org.h2.server.TcpServerThread.process(TcpServerThread.java:406) at org.h2.server.TcpServerThread.run(TcpServerThread.java:183) at java.lang.Thread.run(Unknown Source) at org.h2.message.DbException.getJdbcSQLException(DbException.java:457) at org.h2.engine.SessionRemote.done(SessionRemote.java:607) at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:237) at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:200) at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:154) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:197) ... 21 more 5월 15, 2021 8:20:45 오후 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PoolState stop INFO: HHH10001008: Cleaning up connection pool [jdbc:h2:tcp://localhost/~/test] Process finished with exit code 0

  • cascade
  • remove
  • java
  • 23503
  • JPA
TaeHyeon Kim 댓글 1 좋아요 0 조회수 1473

JPA DTO 직접조회 질문 드립니다.

미해결

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

안녕하세요 강사님. 강의 복습 중에 질문이 생겨서 문의 드립니다 JPA 에서 DTO 직접조회를 하는데 (일대다 조회) 일반적으로 엔티티를 DTO 로 변환해서 조회하는 방법보다 더 불편하고 유지보수할때 복잡해 보이는데, 실제 운영에서도 DTO를 직접조회해서 사용을 많이 할까요 ??

  • java
  • spring
  • JPA
  • spring-boot
sjdzn119 댓글 1 좋아요 0 조회수 455

JPA Update에 관한 질문입니다.

해결됨

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

안녕하세요 김영한님! 제가 드리고싶은 질문은 두가지입니다. 예를 들어 게시글에는 이미지를 넣을 수 있으며 게시글과 이미지는 OneToMany관계로 이루어져있습니다. 그리고 Board(게시글) 엔티티에는 @OneToMany(mappedBy = "board", Cascade.ALL, orphonRemoval = true, fetch = LAZY) List<BoardImage> images = new ArrayList<>(); 로 설정했습니다. 질문1. 예를 들어 이미지가 [image1, image2, image3](타입은 이미지객체타입) 에서 [image2, image3, image4] 로 update 할 경우에는 1. delete all & insert all 2. 코드로 기존과 하나하나 비교하면서 delete1 & insert 4 인가? 주로 현업에서는 어떻게 사용하는지 궁금합니다. 질문2. List<BoardImage> images = [image1, image2, image3] 을 갖고 있습니다. 여기서 update 메소드를 사용하여 this.images = List.of(image1, image3, image4)로 덮을경우에는 JPA에서 전부 delete하는지 궁금합니다. 감사합니다

  • update
  • JPA
  • jpa
  • java
Sunny 댓글 2 좋아요 0 조회수 602

Category의 parent_id 생성 관련

미해결

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

안녕하세요, 영한쌤. Category에서 private Category parent에 있지도 않은 parent_id를 @JoinColumn 기준으로 잡아주는 것이 너무 이상했는데 create table할 때 parent_id 필드가 만들어지더라구요. 명시적으로 만든 적이 없는 parent_id를 가지고 @JoinColumn에 이걸로 연결하라고 사용해도 오류가 나지 않을 뿐더러 심지어 parent_id가 생성되는 이유가 궁금합니다.

  • JPA
  • java
Max H 댓글 2 좋아요 1 조회수 722

인기 태그

인프런 TOP Writers

주간 인기글