@Entity @Table
데이터베이스 스키마 자동생성 - 운영장비에서는 절대로 쓰지마라
@Entity
@Table(name = "Member")
public class Member {
@Id
private Long id;
@Column(name = "name") //컬럼매핑
private String username;
private Integer age;
@Enumerated(EnumType.STRING)//enum 타입 매핑
private RoleType roleType;
@Temporal(TemporalType.TIMESTAMP)//날짜 타입 매핑
private Date createdDate;
@Temporal(TemporalType.TIMESTAMP)
private Date lastModifiedDate;
@Lob //BLOB, CLOB 매핑
private String description;
}
@Id @GenerativeValue
DB에 생성을 위임하는 것.
이걸로 하면 db에 들어가봐야 pk값을 알 수 있어서, 영속성 컨텍스트 활용에 제약이 생김.
em.persist 하자 마자 -> 데이터베이스에 쿼리를 날림(원래는 commit시점에 날림)
@ManyToOne @JoinColumn