트랜잭션을 어떻게 관리해주는거지??이 어노테이션이 없다면??DB 에 모두 반영되거나 모두 반영되지 않아야 되는 하나의 작업 단위를 뜻함헬스장 생성해주세요기구 생성해주세요헬스장만 생성되면…???? 기구만 생성되면…??? 강제 야외 헬스장이 되거나 유산소만 해야 하는 끔찍
목표: JPA 가 지원하는 컬렉션의 종류와 부가 기능JPA는 자바에서 기본으로 제공하는 Collection, List, Set, Map 컬렉션을 지원한다.하이버네이트 구현체 기준Team 이 members 컬렉션을 필드로 가지고 있는 상태Team을 영속상태로 만들기 전에
데이터 접근 계층을 개발할 때 반복적인 CRUD 문제이를 처리하기 위한 인터페이스를 제공, 실행시점에 스프링 데이터 JPA 가 구현 객체를 동적으로 생성해 주입해준다.데이터 접근 계층을 개발할 때 구현 클래스 없이 인터페이스만 작성해도 된다.CRUD 를 처리하기 위한
String 클래스는 불변 객체String 클래스의 문자열을 저장하는 변수가 final 키워드로 되어 있음따라서 한 번 할당한 문자열은 변경이 불가하고 문자열을 새로 더한다면 새로운 객체가 생성되어 재할당된다3가지 x 에는 모두 다른 객체가 들어가 있다. 1번에서 할당
JPA 데이터 타입은 크게 엔티티 타입과 값 타입이 있다.이번 장에서는 값 타입에 대해 공부식별자가 있음생명주기가 있음공유할 수 있음값 타입에는 3가지가 존재말 그대로 기본 값이다. 자바가 제공하는 기본 데이터 타입이다.String, int …새로운 값 타입을 직접 정
상속 관계 매핑@MappedSuperClass복합키와 식별 관계 매핑조인 테이블엔티티 하나에 여러 테이블 매핑관계형 DB에서는 상속이라는 개념이 없음. 대신, 슈퍼타입 서브타입 관계라는 모델링 기법이 존재슈퍼타입 서브타입 논리 모델을 테이블로 구현하는 방법 3가지엔티티
객체의 참조와 테이블의 외래 키를 매핑객체 연관관계와 테이블 연관관계의 차이객체는 참조로 연관관계를 맺음 (단방향만 가능)테이블은 외래 키로 연관관계를 맺음 (양방향이 가능)객체를 양방향으로 참조하려면 단방향 연관관계 2개를 만들어야 함객체 그래프 탐색: 객체가 참조를
장소: 당산역 스터디위드 스터디룸시간: 10:00 ~ 12:00엔티티 매니저 팩토리: 엔티티 매니저를 만드는 공장엔티티 매니저: 엔티티를 저장하고, 수정하고, 삭제하고, 조회하는 등 엔티티와 관련된 모든일을 처리한다엔티티 매니저 팩토리는 여러 스레드가 동시에 접근해도
JPA를 혼자 공부하는 것보다 다른 사람들과 같이 공부하면서 설명하는게 더 효과적이라 생각하여 진행한다.JPA 스터디는 3명의 인원과 오프라인으로 매주 토요일 오전 10시에 진행한다책은 자바 ORM 표준 JPA 프로그래밍 (저자: 김영한) 으로 진행하고 목표는 완독이다
JVM이란 Java Virtual Machine의 약자로, 자바 가상머신이다 자바가 OS에 구애 받지 않고 프로그램을 실행할 수 있도록 도와준다 Java 이전의 C언어와 C++ 언어는 컴파일 된 파일이 OS 별로 호환되지 않았다 이를 해결하기 위해 자바는 컴파일 시
Q. 스프링 빈과 컨테이너 스프링 빈 스프링 컨테이너에 의해 관리되는 POJO를 의미한다. 여기서 POJO는 오래된 방식의 간단한 자바 오브젝트로써 특정 기술에 종속되어 동작하는 것이 아닌 순수한 자바 객체를 의미한다 결국 스프링 빈을 객체가 된다 > POJO
Generic은 데이터 형식에 의존하지 않고, 하나의 값이 여러 다른 데이터 타입들을 가질 수 있도록 하는 방법이다. -> 다형성객체의 타입을 컴파일 시에 체크해줌으로써 의도하지 않은 타입의 객체가 저장되는 것을 막는다.\-> 객체의 타입 안정성을 높여준다간단히 Arr
Q.컬렉션 프레임워크에 대해서 설명해주세요 Java Collections FrameWork의 의미를 하나씩 살펴보자면 Java = 자바 Collections = 일정한 부류의 것을 수집하여 한 공간에 모아 놓음 FrameWork = 뼈대가 되는 기본 구조 -> 일정
Q. DI란, DI의 종류는 DI 의존성 주입 (Dependency Injection) 은 외부에서 두 객체간의 관계를 결정해주는 디자인 패턴이다 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 동적으로 주입하여 유연성을
들어가기에 앞서 모듈과 모듈화에 대해 먼저 알아보자모듈화란 소프트웨어를 기능별로 나누는 것을 의미한다각 기능별로 나누어진 결과를 모듈이라고 한다좋은 모듈화는 목적에 맞는 기능만으로 모듈을 나누어 다른 모듈과 적게 연관되는 것을 의미한다 ( = 독립성이 강한 모듈 )이러
Has a 상속 (포함 개념 / 컴퓨터 - RAM, DISK)Is a 상속 (일반적 개념, 구체적 개념)클래스 내부의 변수 값을 초기에 지정해주고 싶을 때 init() 이라는 임의의 함수를 만들어해줄 수도 있을텐데, 이러한 함수를 초기화 함수라고 하지는 않는다.초기화
개체와 객체는 다른 것이다. 객체 메소드 static을 쓰면 클래스를 통해서 사용되는 함수 (스태틱 메소드) static을 안쓰면 객체를 통해서 사용되는 함수 (인스턴스 메소드) exam.print()로 메소드를 호출하게 되면 exam이라는 객체가 print로 넘
String s1 = new String("Hello");위에서 s1을 '참조(참조 변수)' 라고 부른다.아니다. 둘은 다르게 생각해야 한다.참조는 별명 이라 생각하면 된다.포인터는 주소를 가지고 있을 공간이 필요하지만, 참조는 별명일 뿐이지, 주소를 가지고 있을 공간
자바를 돌리기 위해서는 설정 > 환경변수 에 jdk의 경로를 지정해주곤 한다.왜 하는건지 모르고 등록을 하였는데, 환경변수에 경로를 등록해줌으로써 jdk를 전역에서 써주기 위해 PATH 에 등록한다고 한다.컴파일을 하는 이유를 알아두는게 좋아보인다.자바는 컴파일과 동시
컴포넌트 스캔 > 스프링 빈을 등록할 때 @Bean 을 통한 방법이 있지만, 빈의 개수가 많아질 경우 실수가 나올 수 있다. 컴포넌트 스캔 @ComponentScan은 @Component가 붙은 클래스를 스캔해서 스프링 빈으로 등록한다. 이때 아래와 같이 의존관계 설정