@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;
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这个引用属性给忽略掉。
@jsonignore的作用的更多相关文章
- Hibernate JPA中@Transient、@JsonIgnoreProperties、@JsonIgnore、@JsonFormat、@JsonSerialize等注解解释
@jsonignore的作用作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响. http://www.cnblogs.com/toSeeMyDream/p/443 ...
- springboot主要注解及其作用
1.注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan.@Configuration和@EnableAutoConfiguration ...
- 第一章 JacksonUtil 序列化与反序列化属性总结
1.json-lib与Jackson 关于json-lib与Jackson对比总结如下: 1).性能方面,Jackson的处理能力高出Json-lib10倍左右. 2).json-lib已经停止更新, ...
- Spring Boot 注解详解
一.注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan.@Configuration和@EnableAutoConfiguration ...
- 三。Hibernate 注解形式
Hibernate支持JPA注解的jar包 JPA全称: Java Persistence API JPA和Hibernate之间的关系,可以简单的理解为JPA是标准接口,Hibernate是实现. ...
- SpringBoot注解大全 转
2019年3月17日22:30:10 一.注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan.@Configuration和@Enab ...
- springBoot系列-->springBoot注解大全
一.注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan.@Configuration和@EnableAutoConfiguration ...
- SpringBoot注解大全(转)
原文链接:[springBoot系列]--springBoot注解大全 一.注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan.@Co ...
- [springBoot系列]--springBoot注解大全[转]
一.注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan.@Configuration和@EnableAutoConfiguration ...
随机推荐
- JavaScript垃圾回收
JavaScript内存监测工具 http://www.cnblogs.com/strick/p/4002010.html
- 常用的CSSreset整理
说道CSSreset,大家又爱又恨,cssreset好处是,覆盖了浏览器的默认样式,使前端攻城狮能更加精确的添加样式,各个浏览器中的界面效果都相同.可是大量的.固定的CSSreset也给网页加载带来一 ...
- [翻译]Kafka Streams简介: 让流处理变得更简单
Introducing Kafka Streams: Stream Processing Made Simple 这是Jay Kreps在三月写的一篇文章,用来介绍Kafka Streams.当时Ka ...
- POJ 2080
import java.util.*; public class Main { public static void main(String args[]){ Scanner cin=new Scan ...
- C#调用脚本语言(三)-- IronJS 与 IronLua 简单方法性能比较
1. 测试环境 1.1. 硬件环境 CPU:intel Core i7-740QM 内存:8GDDR3 Memory 1.2. 系统 系统:Windows 8 Enterprise 开发工具:Vs ...
- java 如何连接MySql数据库
利用jdbc方式连接数据库. 1.添加mysql驱动jar包 我用的是这个驱动包mysql-connector-java-5.1.26-bin.jar 添加方式: 2.加载MySql驱动类 priva ...
- NTP服务及时间同步(CentOS6.x)
博客分类: linux 今有一小型项目,完全自主弄,原来以为很简单的NTP服务,我给折腾了2个多小时才整撑头(以前都是运维搞,没太注意,所以这技术的东西,在简单都需要亲尝啊),这里记录为以后别再浪 ...
- MongoDB (十一) MongoDB 排序文档
sort() 方法 要在 MongoDB 中的文档进行排序,需要使用sort()方法. sort() 方法接受一个文档,其中包含的字段列表连同他们的排序顺序.要指定排序顺序1和-1. 1用于升序排列, ...
- C++ 数组参数
在C++中数组不是按值传递的,传递的是第1个元素,即第0个元素的指针. 1.数组长度不是参数类型的一部分,函数不知道传递给它的数组的实际长度,因此当编译器对实参类型进行参数类型检查时,并不检查数组的长 ...
- hdu 1567 2006 (题意理解容易出错)
#include<stdio.h> #include<vector> #include<algorithm> using namespace std; struct ...