日付と列挙などのフィールドタイプのJPAマッピング
1993 ワード
列挙クラス
@Table(name="person")
テーブル名の指定
@Column(name = "personName", length = 15, nullable = false)
フィールド名、長さ、空でないことを指定します(nullableデフォルトはtrue)
@Temporal(TemporalType.DATE)
Dateタイプのプロパティをマップします.TemporalType.DATEは、データベースに保存されていることを示します.1988-02-04です.TemporalType.TIMEは、データベースへの保存が12:12:12であることを示します.
@Enumerated(EnumType.STRING)
列挙タイプのプロパティをマップします.EnumType.STRINGは、列挙クラスの値をデータベースに格納することを表す.EnumType.ORDINALは、列挙クラスのインデックスをデータベースに保存することを示します.
package cn.com.jyp.model;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
@Table(name = "person")
public class Person {
private Integer id;
private String name;
private Date birthday;
private Gender gender;
@Id
@GeneratedValue
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Column(name = "personName", length = 15, nullable = false)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Temporal(TemporalType.DATE)
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
@Enumerated(EnumType.STRING)
@Column(length = 5, nullable = false)
public Gender getGender() {
return gender;
}
public void setGender(Gender gender) {
this.gender = gender;
}
}
@Table(name="person")
テーブル名の指定
@Column(name = "personName", length = 15, nullable = false)
フィールド名、長さ、空でないことを指定します(nullableデフォルトはtrue)
@Temporal(TemporalType.DATE)
Dateタイプのプロパティをマップします.TemporalType.DATEは、データベースに保存されていることを示します.1988-02-04です.TemporalType.TIMEは、データベースへの保存が12:12:12であることを示します.
@Enumerated(EnumType.STRING)
列挙タイプのプロパティをマップします.EnumType.STRINGは、列挙クラスの値をデータベースに格納することを表す.EnumType.ORDINALは、列挙クラスのインデックスをデータベースに保存することを示します.