1-4. 모델 만들기
src에 model패키지를 추가하고 간단한 POJO 클래스를 만들어 봅니다.
현재 살짝 졸린데 배까지 고픈 관계로 Pizza 클래스를 만들기로 하겠습니다. 속성으로는 고유한 값에 해당하는 pizzaId, size, name, price 이렇게 네가지가 있습니다.
[#M_ more.. | less.. |
package model;
public class Pizza {
private Integer pizzaId;
private String name;
private Integer price;
private String size;
public Integer getPizzaId() {
return pizzaId;
}
public void setPizzaId(Integer pizzaId) {
this.pizzaId = pizzaId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getPrice() {
return price;
}
public void setPrice(Integer price) {
this.price = price;
}
public String getSize() {
return size;
}
public void setSize(String size) {
this.size = size;
}
}_M#]
매우 단순한 클래스가 만들어졌습니다. 이제 이 클래스에 어노테이션을 적용합니다. 어노테이션을 적용하게 되면 테이블과 매핑이 이뤄집니다.
bk80.bmp이때 주의 할 점은 방언에 해당하는 org.hibernate.annotations에 있는 어노테이션 말고 차후 확장성을 고려하여 javax.persistence에 있는 어노테이션을 사용하기 입니다.
[#M_ more.. | less.. | package model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
@Entity(name="O_Pizza")
@SequenceGenerator(name="Pizza_PizzaId_Seq", sequenceName="Pizza_PizzaId_Seq")
public class Pizza {
private Integer pizzaId;
private String name;
private Integer price;
private String size;
@Id
@GeneratedValue(generator="Pizza_PizzaId_Seq", strategy=GenerationType.AUTO)
public Integer getPizzaId() {
return pizzaId;
}
public void setPizzaId(Integer pizzaId) {
this.pizzaId = pizzaId;
}
@Column(nullable=false, length=50)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Column
public Integer getPrice() {
return price;
}
public void setPrice(Integer price) {
this.price = price;
}
@Column(length=50)
public String getSize() {
return size;
}
public void setSize(String size) {
this.size = size;
}
}
_M#]
각 어노테이션에 지정할 수 있는 속성이 보고 싶을 땐 이클립스에서 원하는 어노테이션에서 f4를 누르면 왼쪽 hierarchy 창에서 보입니다.
여기서 사용한 어노테이션으로는 Entity, Id, Column, SequenceGenerator, GeneratedValue입니다. 각각에서 사용가능한 속성들에 대한 공부도 필요할 것 같습니다.