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. Elasticsearch 6.2.3版本 执行聚合报错 Fielddata is disabled on text fields by default

    背景说明 执行<Elasticsearch 权威指南>的示例,在执行聚合查询的时候,报错 Fielddata is disabled on text fields by default. ...

  2. jdbc简单连接oracle数据库

    package com.shangsheng; import java.sql.*; public class UserOracle { public static void main(String[ ...

  3. JavaScript编程精解 初读笔记

    1.1 值 JavaScript里有6种基本类型的值: number.string.Boolean.object.function和undefined. 1.3.2 prompt和confirm 浏览 ...

  4. Gin框架中文文档

    Gin 是一个 go 写的 web 框架,具有高性能的优点.官方地址:https://github.com/gin-gonic/gin 带目录请移步 http://xf.shuangdeyu.com/ ...

  5. ElasticSearch的中文分词器ik

    一.前言   为什么要在elasticsearch中要使用ik这样的中文分词呢,那是因为es提供的分词是英文分词,对于中文的分词就做的非常不好了,因此我们需要一个中文分词器来用于搜索和使用. 二.IK ...

  6. 【HANA系列】SAP HANA 2.0 SPS00 SDA(Smart Data Access)连接Hadoop

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA 2.0 SPS ...

  7. Shell编程、part3

    本节内容 1. shell流程控制 2. for语句 3. while语句 4. break和continue语句 5. case语句 6. shell编程高级实战 shell流程控制 流程控制是改变 ...

  8. adobe Keychain mac

    Keychain password access This question has been Answered. janec2070563 May 8, 2018 11:07 AM I consta ...

  9. 【VS开发】windows注册ActiveX控件

    ActiveX控件是一个动态链接库,是作为基于COM服务器进行操作的,并且可以嵌入在包容器宿主应用程序中,ActiveX控件的前身就是OLE控件.由于ActiveX控件与开发平台无关,因此,在一种编程 ...

  10. IntelliJ IDEA将导入的项目转成maven项目

    今天导入公司的maven项目,发现结构不对劲,难怪说为啥一直不能部署tomcat,后面百度才了解到导入这个项目还不是maven项目,首先需要把这个项目变成maven项目,然后再进行tomcat的部署下 ...