JPA 기초

greenTea·2023년 3월 16일

아래 코드를 통해 jpa의 기본에 대해서 알아보자

@Entity(name = "Users")
public static class Users {

	@Id @GenerateValue
	private Integer id;

	@Column(name = "username")
	private Name name;

	private String age;

	private String password;

	@Transient
	private boolean check;

	@Temporal(TemporalType.TIMESTAMP)
	private LocalDateTime loginDate;
	
}

@Embeddable
public class Name {

	private String firstName;

	private String middleName;

	private String lastName;

	
}

jpa기초

@Entity

  • 기본적으로 @Entity를 등록을 해야 jpa가 인식을 하고 매핑해준다
  • Entity의 이름을 내가 지정할 수 있지만 예약어는 피해야 한다. ex)order
  • @Id를 필수로 가져야 하며 기본 생성자도 가지고 있어야 한다.

@Id

  • PK를 지정해주는 것으로 필수이다.
  • @GenerateValue와 같이 쓰면 자동으로 d를 만들어 준다. (단 strategy에 따라 내가 직접 Id를 위한 테이블 또는 sequence를 만들어 줘야 할 수도 있음)

@Embeddable

  • 값 타입을 선언하는 것으로 @Embeddable를 선언하고 나서는 @Entity안에 값으로 넣을 수 있다.
  • 내가 넣은 곳에 @Embedded를 선언해 줘도 된다.

@Column

  • 컬럼을 지정하는 어노테이션으로 속성으로 name, insertable등을 지정해 줄 수 있다.

@Temporal

  • 날짜 값에 붙여 주는 것으로 LocalDateTime을 사용한다면 생략이 가능하다.

@Transient

  • 매핑하지 않겠다는 것을 알려주는 어노테이션이다. (메모리에서만 사용 가능)

출처 : hibernate 공식 문서

profile
greenTea입니다.

0개의 댓글