포스트

자바 엔티티(Entity)와 JPA?

자바 엔티티(Entity)와 JPA?

Q1. 엔티티(Entity)란?

자바에서 데이터베이스와 연동을 하기 위해서는 엔티티라는 개념을 이해해야한다. 엔티티에 대한 개념을 간단히 정리해보았다.

엔티티는 MySQL의 테이블을 자바 코드로 표현한 것

즉, 테이블의 구조(컬럼)를 Java 클래스 형태로 만든 것!

@entity를 만들면 Spring Boot를 실행할때 자동으로 테이블을 생성함

현재 프로젝트에서는 해당하는 데이터베이스만 만들어주면 스프링 실행시 자동 테이블생성

📌 쉽게 비교하면

MySQL 테이블(SQL)엔티티(Java)
CREATE TABLE scorerankmale (id BIGINT AUTO_INCREMENT PRIMARY KEY, sex INT, age INT, height DOUBLE, weight DOUBLE, score INT, userid VARCHAR(255));@Entity class ScoreRankMale { private Long id; private int sex; private int age; private double height; private double weight; private int score; private String userid; }

✔ 즉, SQL로 테이블을 직접 만들지 않고, Java에서 @Entity를 사용하면 DB 테이블이 자동 생성됨!

스프링에서 DB 데이터를 넣거나 수정할 때 반드시 엔티티가 필요함!

💡 “MySQL 테이블의 한 줄 = Java 엔티티 객체 하나”

Q2. JPA

JPA(Java Persistence API)는 “자바에서 DB를 쉽게 다루기 위한 기술”

📌 쉽게 설명하면

✔ 원래 Java에서 MySQL을 사용하려면 JDBC를 써야 했어.

JDBC는 SQL 쿼리를 직접 써야 했기 때문에 코드가 너무 길어졌어.

✔ 그래서 JPA가 등장하면서 “SQL 없이” 객체(Entity)만 가지고 DB를 다룰 수 있게 됨!

💡 JPA를 사용하면 직접 SQL을 안 써도 됨!

💡 @EntityJpaRepository만 있으면 자동으로 SQL 실행됨!

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.