본문 바로가기

전체 글19

Open EntityManager In View / Open Session In View 이것은 JPA에 대해서 자세하게 학습하지 않았고, 스스로 이해한 내용을 바탕으로 작성하였다. 앞으로 계속 학습하면서 잘못된 부분이 있었다면, 수정을 할 것이다. JPA를 사용하면서 이러한 경우를 한번쯤은 만나게 될 것이다. 로직을 수행하면서 객체의 상태를 변경했는데, 왜 뷰에 출력된 내용에는 변경사항이 반영이 안되어있지..?! 뷰에 출력하는 내용은 보통 DB에서 읽어온 내용인데, 이것이 변경되지 않았다는 것은 객체의 변경사항이 DB에 반영이 되지 않았다고 할 수 있을 것이다!! 이런 상황에 대해서 한번 정리를 해보고자 한다. 그러기 위해서는 먼저 영속성 컨텍스트에 대해서 간단하게 알아볼 필요가 있다. 영속성 컨텍스트는 엔티티를 영구 저장하는 환경이라는 뜻이다. 뭔 소린지 모르겠다...@u@ 영속성 컨텍스.. 2021. 6. 7.
기본키 / 식별-비식별 관계 / ERD IE 표기법 다른 데이터베이스의 ERD를 보다가 의문점이 발생해서 찾아보게 되었다. 지금까지 다대다 관계를 형성하기 위해서 연결 테이블을 설정할 때, 연결 테이블의 기본키 값은 당연히 외래키(관계를 형성하는 두 테이블의 기본키)로 구성된 복합키라고 생각을 했고 그렇게 배웠다. 하지만 모든 관계테이블에 외래키와 별개로 ID값을 지정해주고 이를 기본키로 사용하는 것을 알 수 있었다. 굳이 왜 이렇게 하는 것인지 궁금해서 찾아보게 되었고 많은 것을 알 수 있었다. 자연키와 인조키 우선 먼저 자연키와 인조키에 대해서 정리해보겠다. 테이블의 기본키를 선택할때 자연키와 인조키라는 옵션을 고민할 수 있다. 1. 자연키 우선 자연키라는 것은 기본키만을 위한 데이터가 아니라 비즈니스 모델에서 자연스럽게 나오는 속성으로 기본키를 정한.. 2021. 5. 1.
제네릭에 대해 제네릭에 대해서는 자바의 정석을 공부하면서 한번 쭉 정리를 한적이 있었다. 처음부터 바로 이해하기는 어려운 개념이었고, 매번 볼때마다 새롭게 이해가 되는 부분이 생긴다. 이번에도 테코톡을 보고나서 다시 새롭게 알게된 개념들에 대해서도 정리를 해야겠다고 생각했다. 10분 테코톡_제네릭 제네릭의 정의는 예전에 정리한 것과 동일하다. 제네릭은 다양한 타입의 객체를 다뤄야하는 클래스나 메서드에서 컴파일시에 타입체크를 해주는 기능이다. 이를 통해서 타입 안정성을 보장할 수 있고, 불필요한 형변환을 줄일 수 있다. 다음은 테코톡에서 설명해준 제네릭의 정의다. 제네릭은 클래스나 메소드에서 사용할 내부 테이터 타입을 외부에서 지정하는 기법이다. 어느정도 제네릭에 대해서 학습하고 난 뒤라서 둘 다 이해가 되는 부분이다... 2021. 4. 30.