728x90
h2 실행 > 회원테이블 만들기
CREATE TABLE MEMBER (
ID VARCHAR(255) NOT NULL, --아이디(기본 키)
NAME VARCHAR(255), --이름
AGE INTEGER NOT NULL, --나이
PRIMARY KEY (ID)
)
회원클래스 작성하기
package jpabook.start;
import javax.persistence.*; //jpa가 제공하는 매핑어노테이션 추가
@Entity
@Table(name="MEMBER")
public class Member {
@Id
@Column(name="ID")
private String id;
@Column(name="NAME")
private String username;
//매핑 정보가 없는필드
private Integer age;
//Getter, Setter
public String getId() { return id; }
public void setId(String id) { this.id = id; }
public String getUsername() { return username; }
public void setUsername(String username) { this.username = username; }
public Integer getAge() { return age; }
public void setAge(Integer age) { this.age = age; }
}
jpa를 사용하려면 가장 먼저 "회원클래스"와 "회원테이블"을 매핑해야함!
@Entity
이 클래스를 테이블과 매핑한다고 jap 에게 알려주는것. Entity가 사용된 클래스를 엔티티 클래스라고 함.
@Table
엔티티 클래스에게 매핑할 테이블 정보를 알려줌
@Table (name="MEMBER") : name 속성을 생략하면 클래스이름을 테이블이름으로 매핑함
@Id
엔티티 클래스의 필드를 테이블의 기본키에 매핑함. 이렇게 @Id가 사용된 필드를 "식별자필드" 라고 함.
@Column
필드를 컬럼에 매핑시킴.
매핑정보가 없는 필드
age 필드에는 어노테이션이 없다. 이렇게 매핑어노테이션이 생략되면 필드명을 사용해서 컬럼명으로 매핑함.
★ persistence.xml 설정 ★
JPA는 persistence.xml 을 사용해서 필요한 설정 정보를 관리.
경로 : META-INF/persistence.xml
이 경로에 지정하면 별도의 설정없이 jpa가 인식할 수 있다.
persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" version="2.1">
<persistence-unit name="jpabook">
<properties>
<!-- 필수 속성 -->
<property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/>
<property name="javax.persistence.jdbc.user" value="sa"/>
<property name="javax.persistence.jdbc.password" value=""/>
<property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/~/test"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />
<!-- 옵션 -->
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
<property name="hibernate.use_sql_comments" value="true" />
<property name="hibernate.id.new_generator_mappings" value="true" />
<!--<property name="hibernate.hbm2ddl.auto" value="create" />-->
</properties>
</persistence-unit>
</persistence>
'JPA' 카테고리의 다른 글
JPA시작(6)_기본키 매핑 (직접할당, 자동생성) (0) | 2021.06.07 |
---|---|
JPA시작(5)_데이터베이스 스키마 자동생성 (0) | 2021.06.07 |
JPA시작(4)_다양한 매핑 사용 @Enumerated, @Temporal, @Lob, @Column, @UniqueConstraint (0) | 2021.06.07 |
JPA시작(3)_애플리케이션개발_기초편 (0) | 2021.06.07 |
JPA시작(1)_H2데이터베이스 설치 / maven 설정 (0) | 2021.06.07 |