본문 바로가기

분류 전체보기72

다양한 연관관계 매핑 연관관계 매핑을 다시 한 번 정리해보려고 한다.연관관계 매핑 시 고려할 3가지다중성 결정하기다대일일대다일대일다대다단방향, 양방향 정하기테이블의 경우 : '방향'이라는 개념 없음, 그냥 외래키로 조인하면 두 테이블이 연관관계를 맺음객체의 경우 : 연관관계 매핑을 객체 참조하는 방식으로 하여,참조가 2군데 있어야함 ( A->B, B->A )→ 연관관계의 주인을 만들어야함→ 외래키를 뭐로 할지, 누가 외래키를 관리할 지 정해줘야 함연관관계의 주인 정하기양방향의 경우, 누가 주인( = 외래키를 관리하는 쪽)인지 정해주자 다대일 @ManyToOne• 다대일 단방향 [N:1] : 주인인 '다'쪽에서는 '일'쪽 참조 가능하나, 반대는 조회도 불가능!• 다대일 양방향 [N:1, 1:N] : 서로 참조하면 주인아닌 쪽에.. 2022. 7. 7.
java.io.FileNotFoundException: class path resource [주소] cannot be opened because it does not exist java.io.FileNotFoundException: class path resource [주소] cannot be opened because it does not exist 나는 h2 db를 사용하고 있었는데 application.yml 에서 db관련 설정은 아래 설정이었는데 url: jdbc:h2:./myselectdb;AUTO_SERVER=TRUE driver-class-name: org.h2.Driver username: sa password: test.db.mv 가 잠시 다른 경로에 있었다. 그래서 다시 test.db.mv를 원래 경로에 두고 localhost:포트번호/h2-console 에서 JDBC URL 에 jdbc:h2:~/test 를 입력해주고 다시 test를 활성화 시킨다음 프로그램.. 2022. 7. 3.
스프링 부트 application.yml 에서 h2 사용 시 LocolDate -> LocalDateTime으로 변경 했는데 적용 안됨 문제 해결 Timestamped 클래스에 있는 createAt이 LocalDate 타임으로 되어 있어서 날짜만 표시되고 시간이 표시가 안됐다 그래서 LocalDate 에서 LocalDateTime으로 변경했는데 h2 db에 데이터를 지우고 계속 등록해도 LocalDate 으로 반영이 됐다. 이유는 spring: mvc: pathmatch: matching-strategy: ant_path_matcher datasource: #url: jdbc:h2:mem:testdb url: jdbc:h2:./myselectdb;AUTO_SERVER=TRUE driver-class-name: org.h2.Driver username: sa password: h2: console: enabled: true settings: web-.. 2022. 5. 28.
프로세스와 스레드 프로세스 vs 스레드 프로세스 프로그램이 실행 중인 상태를 프로세스라한다. 즉, 메모리에 적재되어 실행이 되고 있는 프로그램을 프로세스라고 한다. 운영체제로부터 시스템 자원을 할당받는 작업의 단위 참고로 할당받는 시스템 자원의 예는 CPU 시간 운영되기 위해 필요한 주소공간 Code, Data, Stack, Heap의 구조로 되어 있는 독립된 메모리 영역 스레드 프로세스가 할당받은 자원을 이용하는 실행의 단위 스레드는 프로세스내에 실행되는 흐름의 단위이다. 프로세스의 특정한 수행경로 특징 스레드는 한 프로세스 내에서 동작되는 여러 실행의 흐름으로, 프로세스 내의 주소 공간이나 자원들(힙 공간 등)을 같은 프로세스 내에 스레드끼리 공유하면서 실행된다. 멀티 프로세스 하나의 응용프로그램을 여러 개의 프로세스.. 2022. 5. 15.
원시타입 vs 참조타입 (자바) 원시타입(Primitive type : 기본타입)과 참조타입(Reference type) 원시타입 정수, 실수, 문자, 논리 리터럴을 저장하는 타입을 말하고 원시 타입이라고도 부른다. 정수형 : byte, short, int, long 실수형 : float, double 문자형 : char 논리형 : boolean 실제 데이터 값을 저장하는 타입이다. 참조타입 간단하게 말하자면 기본 타입을 제외한 타입들을 말한다. 객체의 주소를 저장하는 타입이다. ex) 문자열, 배열, 열거, 클래스, 인터페이스 Java에서 실제 객체는 Heap 영역에 저장되며 참조 타입 변수는 스택 영역에 실제 객체들의 주소를 저장하여 객체를 사용할 때마다 참조 변수에 저장된 객체의 주소를 불러와 사용하는 방식이다. Stack 영역 .. 2022. 5. 7.
필터와 인터셉터 디스패처 서블릿(Dispatcher-Servlet)이란 디스패처 서블릿의 dispatch는 "보내다"라는 뜻을 가지고 있습니다. 그리고 이러한 단어를 포함하는 디스패처 서블릿은 HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러(Front Controller)라고 정의할 수 있습니다. 필터(Filter)란 필터(Filter)는 J2EE 표준 스펙 기능으로 디스패처 서블릿(Dispatcher Servlet)에 요청이 전달되기 전/후에 url 패턴에 맞는 모든 요청에 대해 부가작업을 처리할 수 있는 기능을 제공한다. 디스패처 서블릿은 스프링의 가장 앞단에 존재하는 프론트 컨트롤러이므로, 필터는 스프링 범위 밖에서 처리가 되는 것이다. 즉, 스프링 컨테이너가 .. 2022. 5. 7.