JPA之日期和枚举的JPA映射

来源:互联网 发布:免费网络硬盘哪个好 编辑:程序博客网 时间:2024/06/07 17:11

1、在前一篇博客的基础上添加枚举类Gender

package cn.sunft.bean;/** * 性别枚举类 */public enum Gender {MAN,WOMEN}
2、对Person类做如下修改

package cn.sunft.bean;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.GenerationType;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 = new Date();//1987-12-10private Gender gender = Gender.MAN;//设置默认属性//@Enumerated(EnumType.ORDINAL)//保存索引到数据库中@Enumerated(EnumType.STRING)//保存字面值到数据库@Column(length=5, nullable=false)//一定要加上非空约束public Gender getGender() {return gender;}public void setGender(Gender gender) {this.gender = gender;}@Temporal(TemporalType.DATE)public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}public Person() {super();}public Person(String name) {super();this.name = name;}//也可以直接标注在属性上@Id@GeneratedValue(strategy=GenerationType.AUTO)public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}//指定列的长度@Column(length=10, nullable=false,name="personName")public String getName() {return name;}public void setName(String name) {this.name = name;}}
3、运行上一篇博客中PersonTest.java中的save()方法,数据库中生成person表内容如下

原创粉丝点击