Hibernate 实体映射类的状态值自动转换

经常会遇到有些字段在数据库只是一个 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 注解

原文地址:https://www.cnblogs.com/jarod99/p/7231029.html