1.增加枚举类

 public enum RightTypeEnum {
AUTHORITY("访问权限")
private String type; RightTypeEnum(String type) {
this.type=type;
} public String getType() {
return type;
} }

 2. 在controller中进行dubug,具体的值见下方截图

       String val = entity.getRight();
String en = RightTypeEnum.AUTHORITY.toString();
String ch = RightTypeEnum.AUTHORITY.getType();
String en1 = RightTypeEnum.valueOf(val).toString();//获取对应变量的英文值
String ch1 = RightTypeEnum.valueOf(val).getType();//获取中文值

  

3. @transietn使用场景:前台界面需要显示数据库某个字段的中文枚举值,但是数据库该字段是枚举的英文,例如:AUTHORITY("访问权限"),数据库存的是AUTHORITY

解决方案:使用注解@transient,该注解会忽略实体中某个字段与数据库字段的映射,不插入数据到数据库,也就是临时存储数据,可以供前台使用

4.user实体类

@Entity
@Table(name = "t_user")
public class UserEntity implements Serializable
{ @Id
@GeneratedValue
@Column(name = "t_id")
private Long id; @Column(name = "t_right")
private String right;

//在不需要映射到数据库的字段上加上@transient注解
@Transient
private String rightVal;//该字段用于存枚举字段的中文值 //其他字段省略 public String getRight() {
return right;
} public void setRight(String right) {
this.right = right;
}
//主要说明此处的作用
public String getRightVal() {
String rightValue = RightTypeEnum.valueOf(this.right).getType();
this.rightVal = rightValue;
return rightVal;
} public void setRightVal(String rightVal) {
this.rightVal = rightVal;
}
}

 5. controller,这样返回的实体就会带有字段 rightVal的值,并且是转换后的中文值

    @RequestMapping(value = "/save",method = RequestMethod.GET)
public UserEntity save(UserEntity entity)
{
return userJPA.save(entity);
}

 6.http://127.0.0.1:8080/user/save?name=ff&age=23&address=jinan&right=AUTHORITY

返回实体的值为:

{"id":7,"name":"ff","age":23,"address":"jinan","right":"AUTHORITY","rightVal":"访问权限"}

7.前台显示字段也要修改
原本显示字段为:
field: 'right',
title: '权益类型',
//width: 100,
align: 'left',
valign: 'top',
修改后的为:
field: 'rightTypeVal'//后台中文显示字段

  

 

枚举类enum应用以及注解@transient应用的更多相关文章

  1. Java枚举类enum

    枚举类enum是JDK1.5引入的,之前都是用public static final int enum_value来代替枚举类的.枚举类enum是一种特殊的类,它默认继承了类java.lang.Enu ...

  2. Java基础(七)泛型数组列表ArrayList与枚举类Enum

    一.泛型数组列表ArrayList 1.在Java中,ArrayList类可以解决运行时动态更改数组的问题.ArrayList使用起来有点像数组,但是在添加或删除元素时,具有自动调节数组容量的功能,而 ...

  3. java 枚举类 enum 总结

    枚举定义: enum是计算机编程语言中的一种数据类型.枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内.例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等.如果把这些量 ...

  4. java 枚举 类 enum

    public abstract class Enum<E extends Enum<E>> implements Comparable<E>, Serializab ...

  5. 枚举类 enum,结构体类 struct

    1.枚举类型的值,直观易于理解,见词知意. 格式: enum 枚举类名:值类型 { 值1, 值2, 值n } 每个值默认(省略“:值类型”)以int型数据存储,从0开始. 使用格式:枚举类名 变量=枚 ...

  6. java枚举类Enum方法简介(valueof,value,ordinal)

    Enum作为Sun全新引进的一个关键字,看起来很象是特殊的class,   它也可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口.   当我们在声明一个enum类型时,我们应该注意到en ...

  7. 枚举类enum的values()方法

    value()方法可以将枚举类转变为一个枚举类型的数组,因为枚举中没有下标,我们没有办法通过下标来快速找到需要的枚举类,这时候,转变为数组之后,我们就可以通过数组的下标,来找到我们需要的枚举类.接下来 ...

  8. zend framework获取数据库中枚举类enum的数据并将其转换成数组

    在model中建立这种模型,在当中写入获取枚举类的方法 请勿盗版,转载请加上出处http://blog.csdn.net/yanlintao1 class Student extends Zend_D ...

  9. java中的枚举类enum

    enum SeasonEnum {//枚举类: 本类规定了SeasonEnum(季节)类只能有四个对象SPRING,SUMMER,AUMUTN,WINTER //创建枚举类的的四个对象SPRING,S ...

随机推荐

  1. 利用Python处理向不受信任主机发送请求

    ,HTTP vs HTTPS 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息.HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器 ...

  2. mingw32环境上静态编译 dav1d 0.4.0

    2019-08-05 发布 dav1d 0.4.0 dav1d 'Cheetah', the fast and small AV1 decoder This is the fourth major r ...

  3. LeetCode.933-最近通话次数(Number of Recent Calls)

    这是悦乐书的第357次更新,第384篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第219题(顺位题号是933).写一个类RecentCounter来计算最近的请求. 它 ...

  4. vue项目与node项目分离

    为了前后端分离,我们在前端和api层中间,架构了一层node层,用来做服务端渲染,来加快用户的首屏可用和对搜索引擎的友好.项目一开始放置在同一个git仓库里面,分别放在client目录和server目 ...

  5. 【计算机视觉】ViBe - a powerful technique for background detection and subtraction in video sequences

    转自:http://blog.csdn.net/stellar0/article/details/8777283 作者:星zai ViBe算法:ViBe - a powerful technique ...

  6. 10大IT社区

    技术社区导航 http://tooool.org/ 1. cnblogs 人多内容质量最高 2.csdn csdn的注册人数多,但新手多 3.java eye java eye注册用户刚突破10万,但 ...

  7. sql回显注入-笔记

     拼接sql命令查询数据   注释 常用于sql注入            # 井号 单行注释 注意:URL编码 %23          -- 两个减号加空格 单行注释           /*   ...

  8. linux查看cd/dvd驱动器的设备信息

    在linux下,如何来查看系统里的CD-ROM或者DVD驱动器的设备名呢? 你可以输入下面的命令来查看当前系统下的光盘驱动器信息: 1.使用dmesg命令来查看当前的硬件是否被linux内核正确的识别 ...

  9. oracle登录后无法使用,显示Connected to an idle instance

    1.登录情况: [oracle@localhost ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Mon Jul ...

  10. java方法形参是引用类型

    public void 方法名(Student s) 这里形参需要的是该类的对象或者子类对象(父类引用子类对象). 1.若为普通类:则可传入该类的实例对象即可,方法名(new Student()): ...