자바 엔티티(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 라이센스를 따릅니다.