实体类参数自动赋值
實體類參數自動賦值
- 前言
- 代碼
前言
日常開發我們會遇到一個問題,在返回實體類時,時間格式是Date類型,但是接口開發時前端往往需要的是String類型,這時候如果使用相對原生的方式可以在服務層進行轉換,加上使用@Transient注解去綁定一些不與數據庫綁定的屬性去攜帶參數,但是在使用JPA自帶的分頁,或者一些結果集封裝的形式進行傳參時,就無法進行數據轉換賦值,這時候就可以通過改變屬性的get方法去設置參數
代碼
package com.yiyun.member.entity;import java.io.Serializable; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.Date;import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.persistence.Transient;import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.GenericGenerator;@Entity @Table(name = "commodity") @DynamicInsert @NamedQuery(name = "Commodity.findAll", query = "SELECT s FROM Commodity s") public class Commodity implements Serializable {private static final long serialVersionUID = 1L;@Id@GeneratedValue(strategy=GenerationType.IDENTITY)private Long id;@Column(name = "create_time")private Date createTime;@Column(name = "open_time")private Date openTime;@Column(name = "over_time")private Date overTime;@Transientprivate String overTimeStr;@Transientprivate String openTimeStr;@Transientprivate String createTimeStr;public Date getCreateTime() {return createTime;}public void setCreateTime(Date createTime) {this.createTime = createTime;}public Date getOpenTime() {return openTime;}public void setOpenTime(Date openTime) {this.openTime = openTime;}public Date getOverTime() {return overTime;}public void setOverTime(Date overTime) {this.overTime = overTime;}//初始化賦值public String getOverTimeStr() {return overTimeStr = overTime==null?"":new SimpleDateFormat("yyyy-MM-dd HH:mm").format(overTime);}public void setOverTimeStr(String overTimeStr) {this.overTimeStr =overTimeStr;}public String getOpenTimeStr() {return openTimeStr = openTime == null?"":new SimpleDateFormat("yyyy-MM-dd HH:mm").format(openTime);}public void setOpenTimeStr(String openTimeStr) {this.openTimeStr = openTimeStr;}public String getCreateTimeStr() {return createTimeStr = createTime == null?"":new SimpleDateFormat("yyyy-MM-dd HH:mm").format(createTime);}public void setCreateTimeStr(String createTimeStr) {this.createTimeStr = createTimeStr;}}這里代碼return createTimeStr = createTime == null?"":new SimpleDateFormat(“yyyy-MM-dd HH:mm”).format(createTime); 方式去賦值,通過三元運算符去賦值,將實體類其他的參數賦值給自己。
總結