@JsonIgnore作用「建议收藏」

@jsonignore的作用作用是json序列化时将javabean中的一些属性忽略掉,序列化和反序列化都受影响。如下:packagecom.hzboy.orm;importjava.util.List;importjavax.persistence.CascadeType;importjavax.persistence.Column;importj

大家好,又见面了,我是你们的朋友全栈君。

@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-b594510740d2ac4261c1b2fe87850d08
private String pswd;
// 姓名
private String nickName;
// 性别
private Short sex;
// 年龄段
private String ageStage;
// 是否系统管理员
private boolean systemAdmin;
//联系电话
private  String  tel;
//Email
private  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;
@Transient
public 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;
}
@JsonManagedReference
public void setDepartment(Department department) {
this.department = department;
}
@Transient
public String getDepartmentName() {
return departmentName;
}
public void setDepartmentName(String departmentName) {
this.departmentName = departmentName;
}
@Transient
public 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这个引用属性给忽略掉。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/128091.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 漫画api 漫画源_小说接口api

    漫画api 漫画源_小说接口api免费的接口,小说api,视频api,漫画apihttp://api.pingcc.cnapi文档:https://easydoc.net/doc/45910076

  • 算法模型大全

    算法模型大全隐马尔可夫模型(HMM)http://baike.baidu.com/link?url=_NiQW91Kkdmyla_lyX1C78NVIXnzELO2l4Sr9e6FstHcss6ssmawwwZHXR7MZ_CP8ofgVTBQe-pOhmqZFx2qHKGMM(GaussianMixtureModel)-高斯混合模型http://baike.baidu.com/link?url=4zzM

  • Java常用设计模式

    Java常用设计模式一、设计模式概念1、定义​Java包含23种设计模式,是一套对代码设计经验的总结,被人们反复利用,多人熟知的代码设计方式。2、目的​为了提高代码的可读性,可扩展性以及代码的复用性,为了解决在写代码过程中遇到的代码设计问题。3、设计模式的六大原则​3.1开闭原则​对扩展开放,对修改关闭(尽可能对代码少修改)​3.2里氏替换原则​它是面向对象基本原则之一,任何父类(基类)出现的地方,子类都可以出现,也就是子类可以替换父类的任何功能(体现了父类的可扩展性)3.3依赖

  • navicat15 临时激活码(最新序列号破解)

    navicat15 临时激活码(最新序列号破解),https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • JAVA中反射机制六(java.lang.reflect包)

    JAVA中反射机制六(java.lang.reflect包)一、简介java.lang.reflect包提供了用于获取类和对象的反射信息的类和接口。反射API允许对程序访问有关加载类的字段,方法和构造函数的信息进行编程访问。它允许在安全限制内使用反射的字段,

  • 远程桌面命令是什么 如何使用命令连接远程桌面

    远程桌面命令是什么 如何使用命令连接远程桌面

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号