분류 전체보기214 em.flush() vs tx.commit() em.flush() 와 tx.commit()의 차이는 무엇일까요? tx.commit()을 하면 내부적으로 em.flush()가 수행된다고 합니다. em.flush()는 데이터를 DB에 저장해주는 역할을 하는데, tx.commit()도 DB에 데이터를 저장하는 용도로 알고 있었기 때문에 tx.commit()은 em.flush()외에 추가적으로 어떤 기능을 하는 것인지 궁금해졌습니다. 1 2 3 4 5 em.flush() - It saves the entity immediately to the database with in a transaction to be used further and it can be rolled back. em.getTransaction().commit - It marks the en.. 2022. 7. 23. Spring Rest Docs 만들기 Spring에서 배운 내용 중에 현재로서 제가 제일 좋아하는 부분이 바로 Spring Rest Docs를 만드는 것입니다 호호 잘 정리된 API 문서를 보면 기분이 좋더라구요. Spring Rest Docs는 자동으로 API 문서를 제작해주는 기능인데, 수기로 API 문서를 작성할 때 생길 수 있는 오류를 막아주기 때문에 굉장히 유용하다고 합니다! 한가지 Spring Rest Docs를 제작하기 위해 넘어야 할 산은 Controller의 method를 모두 pass해야만 한다는 점입니다. 이 역시 코드를 여러번 작성하다 보면 익숙해지겠죠? 이 포스팅에서는 Spring Rest Docs를 만들기 위해 준비해야하는 것들과 문서에 포함할 내용을 어떻게 코드로 알려주면 되는지 알아보도록 하겠습니다. Spring.. 2022. 7. 19. Mockito 적용하여 Controller test 해보기 Testing 시에 Layer간의 연결을 끊고 Layer 별 기능을 독립적으로 테스트할 수 있도록 도와주는 도구가 바로 Mockito 입니다.🍸 왜 layer별로 독립적인 테스트가 필요할까요? 특정 계층의 테스트만 필요한데 불필요한 전 계층을 다 거치게 되면서 성능이 떨어지거나 테스트 관심 영역 면에서 벗어나는 것을 방지하기 위해서 입니다. 처음 사용해보려니 생소한데, 어떤 요소들을 생각하면서 사용하면 좀 더 쉽게 사용할 수 있는지 깨달았던 부분들을 글로 남겨두려고 합니다. Mockito 사용법 1. 테스트하려는 Controller와 유사한 구조를 갖는 test class를 test directory에 생성합니다. : 유사한 구조라함은 Controller에서 의존하는 객체, 정의된 메서드(로직은 제외)를.. 2022. 7. 18. Entity mapping-Cascade의 역할 Cascade의 역할을 제대로 알지 못해 힘들었던 며칠 🥲 눙물이 납니다.. 그래도 덕분에 Entity mapping에 대해서도 좀 더 잘 알게되고 Entity와 Dto 간 mapping도 여러번 수정해 보며 어떻게 하는 것인지 좀 더 알게된 시간이었습니다. 먼저 Cascading이 언제 필요한 것인지 보면, Cascading은 두 entity의 존재가 서로에게 의존적일 때 필요합니다. 예를 들어서, Member-Address라는 관계가 있다고 했을 때 Address는 Member가 있어야만 그 의미를 갖게 됩니다. (Member 정보는 없는데 주소만 있다면 누구의 주소를 의미하는지 그 쓰임이 무색해질테니까요) 그렇기 때문에 Member 정보를 삭제할 때 그와 관계된 Address 정보도 같이 삭제되어야.. 2022. 7. 17. Hibernate에러: object references an unsaved transient instance - save the transient instance before flushing 두번 정도 마주친적이 있는 object references an unsaved transient instance - save the transient instance before flushing 에러인데, 어떤 에러이고 어떻게 해결할 수 있는지 알아보려고 합니다. org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.TransientPropertyValueException: //(1) object references an unsaved transient instance - save the transient instance before flushing : com.codestates.order.entity.OrderCoffee.o.. 2022. 7. 14. Content type 'text/plain;charset=UTF-8' not supported 에러 혹시 Postman으로 request를 보내다가 Content type 'text/plain;charset=UTF-8' not supported 라는 에러를 만나게 된다면 노란색 동그라미 부분에 타입이 혹시 Text로 되어 있지는 않은지 확인해보시기 바랍니다. 저는 JSON형태의 request를 보내야 하는데, text 형태로 지정하여 보냈더니 아래와 같이 에러가 발생했습니다. Text대신 JSON으로 바꾸어주니 에러 없이 제대로 작동하게 되었습니다. 2022. 7. 3. 이전 1 ··· 17 18 19 20 21 22 23 ··· 36 다음 반응형