본문 바로가기

개발/Database5

[JPA] @ElementCollection 어노테이션 ✔ 개념 RDB 는 Collection 형태의 데이터를 저장할 수 없다. 따라서 컬렉션을 저장하기 위해서는 별도의 테이블을 만들어서 따로 관리해줘야한다. Jpa 에서는 @ElementCollection 을 사용하여 해당 컬럼이 컬렉션 객체임을 알려줄 수 있다. 값 타입 컬렉션은 개념적으로 보면 1:N 관계이다. ✔사용방법 @Entity class Test { @Id @GeneratedValue(strategy = GenerationType.AUTO ) val id: Long = 0 @Column @ElementCollection var roles: List = ArrayList(); } roles 컬럼이 권한 여러개를 가질 경우 ElementCollection 어노테이션을 사용해서 별도의 테이블로 관리할.. 2023. 7. 1.
JPA 와 Spring Data JPA 의 차이 ✔ 개념 ORM 이란? 객체 관계 매핑(Object-Relational Mapping) 객체 지향 프로그래밍 언어의 객체와 데이터베이스 테이블 간의 매핑을 추상화하여 개발자가 데이터베이스와 상호 작용하는 데 있어서 더욱 편리하게 만들어줍니다. 이를 통해 개발자는 객체 지향적인 관점에서 개발에 집중할 수 있습니다. ORM 은 객체와 데이터베이스 간의 매핑을 자동으로 처리합니다. ORM 은 개발자가 SQL 쿼리를 직접 작성하는 대신, 객체와 관련된 작업을 수행할 수 있는 메서드와 인터페이스를 제공합니다. JPA (Java Persistence API ) 란? JPA는 자바에서 ORM을 사용하기 위한 표준 인터페이스를 제공합니다. JPA는 인터페이스이므로 JPA를 직접 구현하기 위해서는 JPA 구현체(예: H.. 2023. 6. 18.
[SQL] INNER JOIN 개념 / 장단점 /사용법 예제 정리해둬야 기억에 오래남는 SQL inner join 에 대해 개념만 알고 넘어갔더니 설명을 못하겠더라고요! sqld 시험 대비 겸 정리해두겠습니다 ✔ 개념 INNER JOIN 이란?INNER JOIN 은 SQL 에서 자주 사용하는 JOIN 중 하나입니다. 두개 이상의 테이블에서 공통된 값을 기준으로 행을 결합하는데 사용합니다. INNER JOIN 을 사용하면 연관된 열의 값을 가지는 행만 결과에 포합됩니다. 다시말하면, INNER JOIN 은 두 테이블에 공통적으로 존재하는 데이터여야 출력됩니다. JOIN 의 관계는 1:N, 1:1, N:1 모두 될 수 있습니다. ✔ 사용방법 고객 테이블과 주문 테이블이 있습니다. 두 테이블에 inner join 을 걸어볼게요! customers 테이블orders 테이.. 2023. 5. 29.
[SQL] CHAR, VARCHAR 차이 ✔ 개념 CHAR고정 길이의 문자열 VARCHAR 가변길이 문자열 ✔ 예시 이름 CHAR(8) -> 이름 컬럼에 'abc' 라는 3 자리의 문자열을 넣어도 남는 공간에는 공백을 채워서 'abc ' 로 만들고 저장된 길이만큼 8자리를 사용한다. 이름 VARCHAR(8) -> 이름 컬럼에 'abc' 라는 3 자리의 문자열을 넣으면 데이터 크기의 3글자와 길이 저장을 위해 필요한 1자리를 더해 총 4자리를 사용하게 된다. ✔장단점 주민등록번호, 사번, 학번과 같이 변하지 않는 값은 CHAR 을 사용, 주소, 이름과 같이 길이가 변하는 값은 VARCHAR 를 사용하여 공간을 낭비하지 않는 것이 좋다. ✔참고 https://wildeveloperetrain.tistory.com/155 2023. 5. 29.