javabean?中使用@Transient屬性處理臨時字段
當(dāng)我們使用spring data jpa開發(fā)的時候,會將實(shí)體類中的成員變量與表中的字段一一對應(yīng),當(dāng)我們在實(shí)體類中加上一個數(shù)據(jù)庫表沒有對應(yīng)字段的成員變量的時候,此時我們只要在這個成員變量上加上注解@Transient
@Transient表示該屬性并非一個到數(shù)據(jù)庫表的字段的映射,ORM框架將忽略該屬性. 如果一個屬性并非數(shù)據(jù)庫表的字段映射,務(wù)必將其標(biāo)示為@Transient,否則,ORM框架默認(rèn)其注解為@Basic比如現(xiàn)在有實(shí)體類Message,但是我想在使用它時想要多用一個字段來接收未讀消息的數(shù)量 unReadCount,此時只要在字段前加上@Transient注解就可以了。當(dāng)數(shù)據(jù)庫表字段與result不一致時用@Column注解
依賴包
import javax.persistence.Transient;
代碼
package com.xy.base.domain; import lombok.Data; import javax.persistence.Column; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Transient; import java.util.Date; import java.util.List; @Entity @Table(name = "T_SS_LLJLB") @Data @Accessors(chain = true) public class TSsLljlb extends BaseEntity { public static final String TABLE = "T_SS_LLJLB"; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id", nullable = false) private Integer id; @ApiModelProperty(value = "操作人") @Column(name = "user_id", length = 50) private String userId; @ApiModelProperty(value = "攝像機(jī)ID") @Column(name = "camera_id", length = 50) private String cameraId; @ApiModelProperty(value = "攝像機(jī)名稱") @Column(name = "camera_name", length = 50) private String cameraName; @ApiModelProperty(value = "設(shè)備ID") @Column(name = "device_id", length = 50) private String deviceId; @ApiModelProperty(value = "通道ID") @Column(name = "channel_id", length = 50) private String channelId; @ApiModelProperty(value = "線路編碼") @Column(name = "line_code", length = 50) private String lineCode; @ApiModelProperty(value = "線路名稱") @Column(name = "line_name", length = 50) private String lineName; @ApiModelProperty(value = "操作類型,1-拉流 0-關(guān)流") @Column(name = "operation") private Integer operation; @ApiModelProperty(value = "拉流時間(頁面請求視頻流的時間)") @Column(name = "pull_time") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date pullTime; @ApiModelProperty(value = "推流時間(頁面獲取視頻URL的時間)") @Column(name = "push_time") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date pushTime; @ApiModelProperty(value = "頁面關(guān)流時間(頁面請求關(guān)閉視頻流的時間)") @Column(name = "page_close_time") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date pageCloseTime; @ApiModelProperty(value = "服務(wù)關(guān)流時間(分轉(zhuǎn)發(fā)服務(wù)實(shí)際關(guān)閉視頻流的時間)") @Column(name = "service_close_time") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date serviceCloseTime; @ApiModelProperty(value = "取流狀態(tài)(取流成功-200,取流失敗-報(bào)錯編碼)") @Column(name = "status") private Integer status; @ApiModelProperty(value = "創(chuàng)建記錄時間") @Column(name = "create_time") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createTime; @ApiModelProperty(value = "更新記錄時間") @Column(name = "update_time") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date updateTime; @ApiModelProperty(value = "臨時記錄攝像頭拉流次數(shù)") @Transient private Integer num; public TSsLljlb initTSsLljlb(TSsLljlb tSsLljlb) { return this.setCreateTime(new Date()); } }
到此這篇關(guān)于javabean 中使用@Transient屬性處理臨時字段的文章就介紹到這了,更多相關(guān)javabean臨時字段的處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中實(shí)現(xiàn)日期時間字符串轉(zhuǎn)換為Date對象的方法
在 Java 編程中,日期時間的處理是一項(xiàng)常見且重要的任務(wù),無論是數(shù)據(jù)存儲、日志記錄還是業(yè)務(wù)邏輯處理,準(zhǔn)確地表示和操作日期時間都是不可或缺的,本文給大家介紹了Java中實(shí)現(xiàn)日期時間字符串轉(zhuǎn)換為Date對象的方法,需要的朋友可以參考下2025-01-01Java服務(wù)器主機(jī)信息監(jiān)控工具類的示例代碼
這篇文章主要介紹了Java服務(wù)器主機(jī)信息監(jiān)控工具類的示例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04Java 獲取當(dāng)前類名和方法名的實(shí)現(xiàn)方法
這篇文章主要介紹了 Java 獲取當(dāng)前類名和方法名的實(shí)現(xiàn)方法的相關(guān)資料,這里不僅提供了實(shí)現(xiàn)方法并比較幾種方法的效率,需要的朋友可以參考下2017-07-07Java使用String.format方法格式化字符串的示例詳解
在編程過程中,我們經(jīng)常需要創(chuàng)建格式化的字符串來滿足特定的需求,比如生成用戶友好的消息、構(gòu)建報(bào)告或是輸出調(diào)試信息,Java 提供了一個強(qiáng)大的工具——String.format 方法,本文給大家介紹了Java使用String.format方法格式化字符串的示例,需要的朋友可以參考下2024-11-11Spring?Boot?2.6.x整合Swagger啟動失敗報(bào)錯問題的完美解決辦法
這篇文章主要給大家介紹了關(guān)于Spring?Boot?2.6.x整合Swagger啟動失敗報(bào)錯問題的完美解決辦法,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-03-03springboot自帶的緩存@EnableCaching用法
這篇文章主要介紹了springboot自帶的緩存@EnableCaching用法,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08SpringBoot整合Minio實(shí)現(xiàn)文件上傳和讀取功能
最近有一個需求是關(guān)于視頻上傳播放的,需要設(shè)計(jì)一個方案,中間談到了Minio這個技術(shù),于是來學(xué)習(xí)一下,所以本文給大家介紹了SpringBoot整合Minio實(shí)現(xiàn)文件上傳和讀取功能,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2024-07-07SpringBoot?替換?if?的參數(shù)校驗(yàn)示例代碼
Spring?Validation是對hibernate?validation的二次封裝,用于支持spring?mvc參數(shù)自動校驗(yàn),接下來,我們以spring-boot項(xiàng)目為例,介紹Spring?Validation的使用,需要的朋友可以參考下2022-12-12IDEA?設(shè)置?SpringBoot?logback?彩色日志的解決方法?附配置文件
這篇文章主要介紹了IDEA?設(shè)置?SpringBoot?logback?彩色日志(附配置文件)的操作方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-12-12