经常会遇到有些字段在数据库只是一个 byte 值,但是取出数据后需要转换为真实的状态名称。
举个栗子:一个图书管理系统,书籍有一个属性 stat(借出状态),在库中只需要保存一个 0/1/2/3/4 这样数值,但是展现给客户的时候就是:在库、借出、超期、未发布等等,这样的状态名称。
private Byte stat; //库中保存的状态值 @Transient private String statName; //出库的时候自动转换为状态名称 public String getStatName() { //0 未发布,1在库,2借出,3超期 switch(stat){ case 0: return "未发布"; case 1: return "在库"; case 2: return "借出"; case 3: return "超期"; default: return "<font style='color:red;'>状态错误</font>"; } }
实体类增加一个 statName 的属性,然后在 get 方法中根据 stat 的值返回状态名称。这样就省得在代码里转换了!
注意: @Transient 注解