@jsonignore的作用
作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。
如下:
package com.hzboy.orm;import java.util.List;import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.ManyToOne; import javax.persistence.Table; import javax.persistence.Transient;import org.codehaus.jackson.annotate.JsonIgnore; import org.codehaus.jackson.annotate.JsonIgnoreProperties; import org.codehaus.jackson.annotate.JsonManagedReference;/*** 系统用户实体类* @author tinner**/ @Entity(name = "com.hzboy.orm.User") @Table(name = "sys_user") @JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}) public class User extends BaseEntity {/*** */private static final long serialVersionUID = -1343842065506227012L;public User() {}public User(Integer id) {this.id = id;}// 登录名private String loginName;// 密码123456-b594510740d2ac4261c1b2fe87850d08private String pswd;// 姓名private String nickName;// 性别private Short sex;// 年龄段private String ageStage;// 是否系统管理员private boolean systemAdmin;//联系电话private String tel;//Emailprivate String email;//是否工程师private Boolean isEnginner;//是否前端客户 是则显示前台html,但同时保留后台相关模块private Boolean isFrontUser;//相关部门private Department department;//相关部门前台描述private String departmentName;private Integer departmentId;//用户编号private String userCode;//附加用于导入private String idCode;//附加的部门信息 用于计算private String departmentCode;@Column(name = "login_name")public String getLoginName() {return loginName;}public void setLoginName(String loginName) {this.loginName = loginName;}@Column(name = "pswd")public String getPswd() {return pswd;}public void setPswd(String pswd) {this.pswd = pswd;}@Column(name = "nick_name")public String getNickName() {return nickName;}public void setNickName(String nickName) {this.nickName = nickName;}@Column(name = "sex")public Short getSex() {return sex;}public void setSex(Short sex) {this.sex = sex;}@Column(name = "age_stage")public String getAgeStage() {return ageStage;}public void setAgeStage(String ageStage) {this.ageStage = ageStage;}@Column(name = "system_admin")public boolean isSystemAdmin() {return systemAdmin;}public void setSystemAdmin(boolean systemAdmin) {this.systemAdmin = systemAdmin;}private List<Role> roles;@ManyToMany(fetch = FetchType.LAZY, cascade = (CascadeType.REMOVE))@JoinTable(name = "sys_user_role", joinColumns = { @JoinColumn(name = "user_id") }, inverseJoinColumns = { @JoinColumn(name = "role_id") })public List<Role> getRoles() {return roles;}public void setRoles(List<Role> roles) {this.roles = roles;}private Integer[] roleIds;@Transientpublic Integer[] getRoleIds() {return roleIds;}public void setRoleIds(Integer[] roleIds) {this.roleIds = roleIds;}@Column(name="email")public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}@Column(name="is_enginner")public Boolean getIsEnginner() {return isEnginner;}public void setIsEnginner(Boolean isEnginner) {this.isEnginner = isEnginner;}@Column(name="is_front_user")public Boolean getIsFrontUser() {return isFrontUser;}public void setIsFrontUser(Boolean isFrontUser) {this.isFrontUser = isFrontUser;}public String getTel() {return tel;}public void setTel(String tel) {this.tel = tel;}@JsonIgnore @ManyToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE }, fetch = FetchType.LAZY) @JoinColumn(name="department_id")public Department getDepartment() {return department;}@JsonManagedReferencepublic void setDepartment(Department department) {this.department = department;}@Transientpublic String getDepartmentName() {return departmentName;}public void setDepartmentName(String departmentName) {this.departmentName = departmentName;}@Transientpublic Integer getDepartmentId() {return departmentId;}public void setDepartmentId(Integer departmentId) {this.departmentId = departmentId;}@Column(name="user_code")public String getUserCode() {return userCode;}public void setUserCode(String userCode) {this.userCode = userCode;}@Column(name="id_from_import")public String getIdCode() {return idCode;}public void setIdCode(String idCode) {this.idCode = idCode;}public String getDepartmentCode() {return departmentCode;}public void setDepartmentCode(String departmentCode) {this.departmentCode = departmentCode;} }
上个实体User中的 department属性就在getDepartment属性上加了 @JsonIgnore,这个时候从后台推数据到前台的时候,就会把department这个引用属性给忽略掉。
转载于:https://www.cnblogs.com/toSeeMyDream/p/4437858.html
@jsonignore的作用相关推荐
- springboot主要注解及其作用
1.注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan.@Configuration和@EnableAutoConfiguration ...
- @JsonIgnore和@JsonSerialize 的 区别
@JsonSerialize(include= JsonSerialize.Inclusion.NON_NULL) 类序列化为Json时不返回null对象,key消失 @JsonIgnore的作用是j ...
- 爪哇基础 之 @JsonIgnore 注解
专属目录 爪哇基础 之 @JsonIgnore 注解 前言 作用 使用 正常不使用注解写法 pojo 实体类 Example类 Service 逻辑层 Mapper 数据持久化层 (此处逆向工程都可生 ...
- SpringBoot注解大全 转
2019年3月17日22:30:10 一.注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan.@Configuration和@Enab ...
- 超级全面的 SpringBoot 注解介绍,每一个用途都应该清晰
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:riemann blog.csdn.net/qq_3 ...
- SpringBoot最最最常用的注解梳理
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:https://s.yam.com/w6mfR 一. ...
- Spring Boot 最最最常用的注解梳理
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:blog.csdn.net/zhanglong_4444 一 ...
- Spring Boot注解大全,一键收藏了!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:www.cnblogs.com/tanwei81/p/681 ...
- 浅析 SpringMVC 中返回对象的循环引用问题
问题发现 今天这个话题还是比较轻松的,可能很多朋友也都遇到过这个问题. @RestController.@ResponseBody 等注解是我们在写 Web 应用时打交道最多的注解了,我们经常有这样的 ...
最新文章
- 黑马程序员-张老师基础加强3-内省
- Android recipe 在代码中写布局
- 一般单纯形法的matlab程序,实验报告(单纯形法的matlab程序)
- JAVA判断各种类型数据是否为空(亲测)
- 进程切换(上下文切换)
- rabbitnq 源码安装_linux下源码安装rabbitMq
- lintcode-135-数字组合
- .net缓存应用与分析
- 我的世界服务器物品锁bug,【MOD教程】已知MOD服BUG物品解析
- 2019.08-2020.06计算机考研指导总结篇
- Java8新特性之日期和时间
- Maven实战读书笔记1
- cebemax hal库 stm32 OLED移植 解析
- 14. 手机蓝牙遥控机器人制作
- Maven 开 发 规 范
- 2021年T电梯修理新版试题及T电梯修理模拟考试
- 【imessage苹果推】苹果邮箱推邮箱Apple Push IMESSage SMS
- 《富豪谷底求生》纪录片记录
- spark版本升级问题org.apache.spark.Logging
- Unity通过刚体组件和C#脚本,施加力实现物体下落并滚离平面 及相机跟随物体