본문 바로가기

Backend - Java Spring/JPA 기초와 원리2

[JPA] 실습 1. 객체와 Table 매핑 - application.properties - Member(엔티티) : @Column의 옵션 name으로 이름을 지정해줄 수 있다. - resources/data.sql - h2.console - 세팅완료! 2. 상세 - @Entity : 이 클래스를 테이블과 매핑한다고 JPA에게 알려준다. (이를 엔티티 클래스라고 한다.) - @Table : 엔티티클래스에 매핑할 테이블 정보를 알려준다. 생략하면 클래스 이름을 테이블 이름으로 매핑한다. - @Id : PK에 해당한다. 식별자 필드라고 한다. - @Column : 컬럼에 매핑한다. 생략이 가능하다. 생략하면 필드명이 컬럼명이 된다. - 대소문자를 구분하지 않는 DB를 사용하면 명시적으로 매핑해야 한다. persistence.. 2024. 2. 21.
[JPA] JPA 1. JPA - JAVA 진영의 ORM 표준 - SQL이 아닌 객체중심의 코드로 개발이 가능 - DB를 변경하기가 쉬워짐 2. SQL을 직접 다룰 때 발생하는 문제 - JDBC API를 사용해서 SQL을 DB에 전달하는데, 반복이 너무 많음 - SQL과 JDBC API를 DAO로 만들어 코드 내에 많이 작성해야함 - 뭐 하나 추가되면 DAO내의 SQL을 다 확인하고 수정해야함 - 객체가 사용할 수 있을지 없을지는 사용하는 SQL에 달려있다. - SQL에 의존적이 되는 상황에서는 엔티티를 신뢰할 수 없다. 3. JPA와 문제 해결 - jpa.persist(member); : persist() 를 통해 객체를 DB에 저장한다. - JPA가 객체와 매핑정보를 보고 적절한 INSERT SQL을 생성해서 DB에 .. 2024. 2. 21.