포스트

자바 엔티티(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을 안 써도 됨!

💡 @Entity와 JpaRepository만 있으면 자동으로 SQL 실행됨!

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