首页 > 其他分享 >日期_枚举等字段类型的JPA映射

日期_枚举等字段类型的JPA映射

时间:2022-11-24 14:07:54浏览次数:45  
标签:return name 映射 JPA gender 枚举 Gender GenerationType public


定义一个枚举类型:

public enum Gender {
MAN,WOMAN
}


private Date date;
//设置默认值
//TemporalType.DATE表示日期 2010-02-02
//TemporalType.TIME表示时间 09:30
//TemporalType.TIMESTAMP表示时间戳 2010-02-02 09:30
@Temporal(TemporalType.TIMESTAMP)
public Date getDate() {
return date;
}

public void setDate(Date date) {
this.date = date;
}


private Gender gender=Gender.MAN;

//一定要设置为非空
@Enumerated(EnumType.STRING) @Column(length=5)
public Gender getGender() {
return gender;
}

public void setGender(Gender gender) {
this.gender = gender;
}


//@Id表示这个属性为主键 (可以标注在字段上或是getter属性上)
//@GeneratedValue(strategy=GenerationType.AUTO)表示生成主键策略为自增长 ,为默认
//下面的两种策略在不同数据库中有些是不支持的所有,最好使用上面的策略它会根据方言自动来识别
//@GeneratedValue(strategy=GenerationType.IDENTITY
//@GeneratedValue(strategy=GenerationType.SEQUENCE
//@GeneratedValue(strategy=GenerationType.TABLE通用效率低
//默认的映射字段于实体的属性名相同
@Id @GeneratedValue(strategy=GenerationType.AUTO)
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}


//指定列类型长度、指定类是否可以为空、指定这个列名称(默认是根据属性名)
@Column(length=10,nullable=false,name="myName")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}


//设置不需要持久化字段
private String imageFile;
@Transient//表示这个属性不于数据库字段进行映射
public String getImageFile() {
return imageFile;
}


@Table(name="myperson")//指定这个表的名称

标签:return,name,映射,JPA,gender,枚举,Gender,GenerationType,public
From: https://blog.51cto.com/u_13991401/5883733

相关文章