관계형 데이터베이스는 상속관계가 없지만, 슈퍼타입 서브타입 관계의 모델링 기법이 객체 상속과 유사하다. 즉, 상속관계 매핑은 객체의 상속 구조와 DB의 슈퍼타입 서브타입관계를 매핑하는 것이다.
다대일 단방향 [N:1] - 가장 많이 사용하는 연관관계로, 외래키가 있는곳을 기준으로 연관관계를 매핑하면된다. 일대다 단방향 [1:N] - 일(1)이 연관관계의 주인인데, 테이블에서 다(N)쪽에 외래키가 있다.
객체지향 설계의 목표는 자율적인 객체들의 협력 공동체를 만드는 것이다. 객체를 테이블에 맞추어 데이터 중심으로 모델링하면, 협력관계를 만들 수 없다.
@Entity : JPA가 관리하는 엔티티이다. JPA를 사용하여 테이블과 매핑할때 사용한다. @Table, @Id, @GeneratedValue, @Column
EntityManagerFactory에서 고객이 요청할때마다 EntityManager를 생성하고,이 엔티티매니저는 내부적으로 DB의 커넥션을 사용하여 DB를 사용한다.
JPA(Java Persistence API)는 자바 진영에서ORM 기술 표준으로 사용되는 인터페이스의 모음이다.즉, 실제로 구현된것이 아니라, 클래스와 매핑을 해주기 위해 사용되는 프레임워크이다.
프로세스는 각각 독립된 메모리영역 (Code, Data, Stack, Heap 의 구조)을 할당 받는다. 기본적으로 프로세스당 최소 1개의 스레드( 메인 스레드)를 가지고 있다.
순수한 DI 컨테이너는 요청을 할때마다 객체를 새로 생성해서 메모리 낭비가 심각해진다.→ 해당 객체를 1개만 생성하고 공유하도록 설계한다 (싱글톤 패턴)스프링 컨테이너는 싱글톤 패턴의 문제점을 해결하면서, 객체 인스턴스를 싱글톤(1개만 생성)으로 관리한다.스프링 컨테이
ApplicationContext를 ‘스프링 컨테이너’라고 하고, 인터페이스이다.스프링 컨테이너는 @Configuration 이 붙은 클래스를 파라미터로 받아서, 설정(구성) 정보로 사용한다
오늘 다뤄볼 주제는 Mac에서 STS 설치 및 오류시 해결방법입니다! 현재 STS의 최신버전은 STS4이지만, 이전버전인 STS3 을 다운받고 설정하는 방법을 알아보겠습니다.
AWS의 RDS 와 EC2를 연결하는 장에서 책을 따라가면서버전차이인지 모르겠지만 책과는 다른부분이 있었습니다.구글링도 하고 비슷한 이슈를 가진 사람들을 찾아보면서 잘 해결했는데,학습하면서 생겼던 이슈들로 인해 책이랑 조금 다르게 해결한 부분을 정리해놓으려 합니다!!
AWS 회원가입 → EC2 인스턴스 생성하기 → EIP 할당 → 인스턴스 연결 → EC2 서버 접속인스턴스 : EC2 서비스에 생성된 가상머신이다.AMI (Amazon Machine Image) : EC2 인스턴스를 시작하는데 필요한 정보를 이미지로 만들어 둔 것이다.
@Entity : 테이블과 링크될 클래스임을 나타낸다.@Id : 해당 테이블의 PK필드@GeneratedValue : PK의 생성규칙(GenerationType.IDENTITY 옵션을 추가해야 auto_increment가 된다. (자동으로 1,2,3...)@Column
Java에서 ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음이다.그 말은 즉, 실제적으로 구현된것이 아니라 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크이다.JPA를 구현한 대표적인 오픈소스로는 Hibernate
DI란 스프링이 다른 프레임워크와 차별화되어 제공하는 의존성 관계 주입 기능이다.객체를 직접 생성하는 것이 아닌 외부에서 생성한 후 주입시키는 방식이다.모듈간의 결합도가 낮아지고 그로인해 유연성이 높아지며 유지보수가 용이해진다.방법 1. new 생성자를 통해 객체를 직
@SpringBootConfiguration + @EnableAutoConfiguration + @ComponentScan 의 역할을 한다.스프링부트의 자동설정, 스프링 Bean읽기, 생성을 자동으로 설정해준다.SpringBootApplication이 있는 위치부터 설
build.gradle에서 사용하는 전역변수를 설정springBootVersion 변수를 생성하고 그 값을 '2.1.7.RELEASE'로 한다.선언한 플러그인 의존성들을 적용할 것인지를 결정하는 코드이다.자바와 스프링 부트를 사용하기 위한 필수 플러그인'java' ,
자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크이다.자바 객체와 라이브러리를 관리해주며, 톰캣과 같은 AWS가 내장되어 있어 웹 어플리케이션을 구동할 수 있다.각각의 계층이나 서비스들 간에 의존성이 존재할 경우, 프레임워크가 서로 연결시켜준다.설정파일(xml)이나
ext : build.gradle에서 사용하는 전역변수를 설정apply plugin : 선언한 플러그인 의존성들을 적용할 것인지를 결정repositories : 각종 의존성(라이브러리)들을 어떤 원격 저장소에서 받을지를 정한다.\-> mavenCentral , jcen
한자리 숫자가 적힌 종이 조각이 흩어져있습니다.흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다.각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로만들 수 있는 소수가 몇 개인지 return 하도록 solution