글을 들어가기 전 1. 부모가 생성돼야 자식이 존재한다. 2. class가 인스턴스화 될 때 생성자가 실행되면서 객체의 초기화를 한다. 그때 자신의 생성자만 실행이 되는 것이 아니고, 부모의 생성자부터 실행된다. 1. 예시를 통해 살펴보기 [예시로 선언한 클래스를 살펴보자.] 아래와 같이 3개의 클래스가 존재한다고 가정하고, 각각을 부모, 자식, 실행이라는 단어로 부르겠다. 부모: Car.class, 자식: Truck.class, 실행파일: TruckExam.class [Car.class] Car를 명시한 부모 클래스 public class Car { public Car() { System.out.println("Car의 기본 생성자 입니다."); } } [Truck.class] Car 부모를 상속받은 ..
1. static [static 변수] 1. static 한 변수는 공유된다. 2. static 한 변수는 값을 저장할 수 있는 하나의 공간이 생성된다. -> 인스턴스가 여러 개 생성해도 static 한 값은 마지막의 값으로 결정된다. [static 메소드] 1. static 한 메서드는 Class가 인스턴스화 되지 않아도 사용할 수 있다. 2. static 한 메서드에서는 static 한 변수만을 사용할 수 있다. public class VariableScopeExam { int globalScope = 10; public void scopeTest(int value){ int localScope = 20; System.out.println(globalScope); System.out.println..
회사 깃 내용중 OSIV 수정 했다는 로그를 보게 되었고 OSIV가 무엇인지 궁금해하다가 강의를 듣게 되어 정리해보았습니다. 1. OSIV란? Open Session In View: 하이버네이트 Open EntityManager In View: JPA (관례상 OSIV라 한다.) 2. OSIV를 적용하기 전 알고 있으면 좋을 내용 [영속성 컨텍스트] OSIV를 이해하기 전에 사실 JPA의 영속성 콘텍스트에 대해 알고 있어야 한다. OSIV에 대해 JPA를 이해하고 난 뒤 온 사람도 있을 거고, JPA를 모르고 온 사람도 있을 것이다. 영속성 콘텍스트 = 내가 어떤 엔티티를 선언하고 사용하는 데 있어 "프로그램이 종료될 때까지 엔티티를 영구 저장하는 환경"이라고 간략하게 이해하고 영속성 콘텍스트에 대한 자..
회사 코드를 보던 중 연관관계 되어 있지 않은 엔티티를 보게 되었는데 이 두 엔티티를 통해 작업을 해야하는 상황이 발생하여 글을 작성하게 되었다. 어떻게 하면 데이터 4000건을 불러오는데 1분이 넘는 시간이 걸리며 그로 인한 "아웃오브메모리"문제를 해결할 수 있을까? ++ 22.08.19 추가 : Projection을 사용하여 해당 Tuple 문제를 해결할 수 있었음 1. 아웃오브메모리 문제 발생 아웃오브메모리가 발생한 이유. 해당 페이지의 데이터를 불러오는데 연관관계 매핑이 맺혀 있지 않았다. 아무래도 추후에 개발된 페이지이거나, 설계할 때 기획에서 빠져있었지 않았다 짐작해 본다. 아무튼 이러한 연관관계없는 테이블을 억지 매핑을 하기 위해 이중 for문을 돌려놓고, @setter와 @getter를 활..
크롬, 인텔리제이 사용시 발생한 문제점에 대해서 작성합니다. 부트스트랩 테일윈드 CSS 파일 적용안되는 이유 인텔리제이가 자잘한 버그가 존재하며 타 CSS 파일들을 적용할 경우 인식을 하지 못하는 경우가 있다. 나 또한 이런 경우가 있어서 정리해 보았다. 이에따라 할 수 있는 방법 2가지가 있다. 1. Reload from disk resources 우클릭 -> Reload from disk 2.Build 설정 최상단의 Build -> Build project 3. 브라우저 캐시 리로드 크롬 기준 -> 내장되어있는 캐쉬 삭제하거나 컨트롤 + 쉬프트 + R을 통해 캐쉬를 날려버린다. 혹시 더 좋은 방법이 있다면 댓글로 피드백 부탁드리겠습니다! 감사합니다.
JPA 테이블 논리형과 물리형을 공부하던 중 싱글 테이블 전략과 조인 테이블 전략에 대한 내용을 실무에서 접한 적이 있어 정리하게 되었다. 팀원들과 커피챗을 하던 중 다른 부서에서 개발 중인 페이지에 대한 DB를 전달받은 적이 있는데 "팀장님이 뭐 이리 테이블 수를 많이 생성했지?" 라며 의문을 재기했던 적이 있다. 그 당시 나는 뭐... 필요하니까 만든 거 아닐까..? 라며 대수롭지 않게 넘겼는데 김영한 강사님의 스프링 상속관계 매핑 영상을 보며 싱글 테이블 전략과 조인 테이블 전략이 그 당시 내가 궁금했던 내용에 대한 내용이라고 생각이 들어 정리해보았다. 우리 부서는 싱글테이블 전략을 활용하여 테이블 수를 줄이고 백업 테이블 or log 테이블을 이용하고 타 부서는 싱글테이블이 아닌 조인 테이블을 ..
스프링에서 오류를 마주했다 처음 한 두 번 마주한 오류는 어째 어째 해결했지만, 반복되는 일이 많았다. 뭐가 부족한지 고민을 한 결과 각 어노테이션 별 동작 유무 및 성공결과에 대한 정확한 개념 정리가 부족하다고 느껴 정리하게 되었다. @RestController와 @Controller 먼저 @RestController와 @Controller를 비교하기 전에 Controller가 뭔지 가볍게 정리한다 뷰를 반환하는 Controller 전통적인 Spring MVC의 컨트롤러인 @Controller는 주로 View를 반환하기 위해 사용한다. Spring MVC Container는 Client의 요청으로부터 View페이지를 반환한다. Data를 반환하는 Controller Controller의 역할은 View..
[요약] 1대多 多에 1을 조회할 수 있는 fk가 존재 多는 연관관계의 주인 多에서 @Joincolum선언은 1을 조회할 수 있는 fk를 나타냄 1에서는 mappedBy를 통해 단순조회 1대1 연관관계 주인으로 선언한 곳에 @JoinColumn(name = "종속관계_id") 연관관계의 종속에 @MappedBy("주인 객체") 1. 객체와 테이블 서로 다른 연관관계 [Member와 Team의 연관관계] 객체와 테이블을 표현한 그림이다. 객체, PK, FK에 주의하여 살펴보자 - 객체 연관관계 포인트 2가지 회원-> 팀 1개 팀 -> 회원 연관관계 1개 - 테이블 연관관계 1가지 회원 팀의 관계 FK와 PK로 양쪽의 연관관계를 알 수 있다. [객체의 양방향 관계] - 객체의 양방향 관계는 사실 양방향 관계..
- Total
- Today
- Yesterday