1.问题描述

在项目中经常会有两个类存在一对多或者多对一的关联关系,这样在查询多的一方时,会深入查询关联的一方,而我们可能并不需要去深入查询那些数据,此时使用JsonConfig的jsonConfig.setExcludes过滤不需要转换的属性

2.举例

关联的类:

a:常用联系人

  1. @Entity
  2. @Table(name = "core_contacts")
  3. public class Contacts implements java.io.Serializable{/**
  4. * 会员
  5. */
  6.   private Member member;
  7. @ManyToOne(fetch = FetchType.LAZY)
  8. @JoinColumn(name = "member")
  9. public Member getMember() {
  10. return member;
  11. }
  12.  
  13. public void setMember(Member member) {
  14. this.member = member;
  15. }
  16.  
  17. }

b:会员类

  1. @Entity
  2. @Table(name = "core_member", uniqueConstraints = {
  3. @UniqueConstraint(columnNames = "user_account"), @UniqueConstraint(columnNames = "mobile"),
  4. @UniqueConstraint(columnNames = "email") })
  5. public class Member implements java.io.Serializable {
      //常用联系人
  6. private Set<Contacts> contacts = new HashSet<Contacts>(0);
  7. public Member(Set<Contacts> contacts) { this.contacts = contacts;
  8. }
  9.  
  10. @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "member")
  11. public Set<Contacts> getContacts() {
  12. return contacts;
  13. }
  14.  
  15. public void setContacts(Set<Contacts> contacts) {
  16. this.contacts = contacts;
  17. }
  18. }

3.在根据会员查询常用联系人时,会深入查询会员的所有信息,此时需要过滤

  1. @RequestMapping("loadSelect.html")
  2. public JSONMessageView loadSelect(HttpServletRequest request){
  3. JSONMessageView json=new JSONMessageView(BusinessConstant.ERR,"记载失败",null);
  4. Member member=super.getMember();
  5. try {
  6. List<Contacts> contactPersonLst=contactsService.getByMember(member);
  7. if (contactPersonLst==null) {
  8. contactPersonLst=new ArrayList<Contacts>();
  9. }
  10. Map<String, Object> map=new HashMap<String, Object>();
  11. JsonConfig jsonConfig = new JsonConfig();
  12. jsonConfig.setExcludes(new String[] { "member" });//过滤不需要转换的属性
  13. JSONArray contactPersonList=JSONArray.fromObject(contactPersonLst,jsonConfig);
  14. map.put("contactPersonLst", contactPersonList);
  15. json.setCode(BusinessConstant.OK);
  16. json.setMessage("加载成功");
  17. json.setContent(map);
  18. return json;
  19. } catch (Exception e) {
  20. e.printStackTrace();
  21. json.setMessage("加载异常");
  22. return json;
  23. }

JsonConfig的jsonConfig.setExcludes的用法的更多相关文章

  1. 使用JsonConfig中的setExcludes方法过滤不需要转换的属性

    Hibernate的many-to-one双向关联中,查询many方时会将one方数据顺带着查询,同时one中会有List<Many>,然后又会去查Many中的数据... 周而复始,结果j ...

  2. jsonConfig用法

    1.先编写jsonConfig的初始化代码 private JsonConfig jsonConfig; public action构造方法() { jsonConfig = new JsonConf ...

  3. json-lib——JsonConfig详细使用说明

    在使用json-lib包中JSONObject.fromObject(bean,cfg)时,可能出现以下几种情况: 1.(防止自包含)转换的对象包含自身对象,或者对象A下面挂了对象B,对象B下面又挂了 ...

  4. json-lib 之jsonConfig具体应用

    一,setCycleDetectionStrategy 防止自包含 public static void testCycleObject() {         CycleObject object ...

  5. JSON lib 里JsonConfig详解

    一,setCycleDetectionStrategy 防止自包含 /** * 这里测试如果含有自包含的时候需要CycleDetectionStrategy */ public static void ...

  6. json-lib 之jsonConfig详细使用(转载写的不错)

    =========================== Java To Json ============================= 一,setCycleDetectionStrategy 防 ...

  7. JsonConfig处理日期时间

    写在前面: 页面发送ajax请求到后台,后台返回对应的json格式数据给前台页面进行数据展示,如果json数据中含有日期时间,就需要对日期进行处理 下面是相关的代码部分 JsonConfig json ...

  8. 认识json,详解JsonConfig

    说到json 初学者很迷茫,不知json怎么为何物,以及怎么用.我简单说下我的了解 既然用了json 我们就要知其然也知其所以然.下面有几个疑问 1.为什么要用json?也就是json 的优势 2.我 ...

  9. json处理复杂对象jsonConfig

     我们通常的Json字符串和java当对象互转.经常有选择性地过滤掉一些属性值,和json-lib包JsonConfig为我们提供了这样一个 特征,有几种方法实施细则. (1)建立JsonConf ...

随机推荐

  1. spring-cloud-kubernetes背后的三个关键知识点

    在<你好spring-cloud-kubernetes>一文中,对spring-cloud-kubernetes这个SpringCloud官方kubernetes服务框架有了基本了解,今天 ...

  2. Python数据类型详解——列表

    Python数据类型详解--列表 在"Python之基本数据类型概览"一节中,大概介绍了列表的基本用法,本节我们详细学一下列表. 如何定义列表:在[]内以英文里输入法的逗号,,按照 ...

  3. Java内部类使用注意事项

    Java内部类使用注意事项: 1. 非静态内部类成员可以访问外部类实例成员 (如注释1),但外部类访问非静态内部类的成员 必须创建非静态内部类对象来访问其成员,如注释2 public class La ...

  4. 2018宁夏邀请赛 Continuous Intervals(单调栈 线段树

    https://vjudge.net/problem/Gym-102222L 题意:给你n个数的序列,让判断有几个区间满足排完序后相邻两数差都不大于1. 题解:对于一个区间 [L,R],记最大值为 m ...

  5. CodeForces 375D Tree and Queries 莫队||DFS序

    Tree and Queries 题意:有一颗以1号节点为根的树,每一个节点有一个自己的颜色,求出节点v的子数上颜色出现次数>=k的颜色种类. 题解:使用莫队处理这个问题,将树转变成DFS序区间 ...

  6. 51nod 1257 背包问题 V3(这不是背包问题是二分)

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1257 题解:不能按照单位价值贪心,不然连样例都过不了 要求的 ...

  7. bzoj3032 七夕祭题解

    题面 TYVJ七夕祭和11区的夏祭的形式很像.矩形的祭典会场由N排M列共计N×M个摊点组成.虽然摊点种类繁多,不过cl只对其中的一部分摊点感兴趣,比如章鱼烧.苹果糖.棉花糖.射的屋--什么的.Vani ...

  8. MyBatis 传入List集合作为条件查询数据

    使用的是SSM框架,数据库是MySQL,做查询的时候传入List集合,使用SQL语句的in方式查询数据 主要有两点问题:我的List集合是利用的另外一个语句查询出来的,传入参数是int类型,返回值是i ...

  9. 【5】SVM算法原理

    大纲 简介 支持向量机(support vector machines)是一个二分类的分类模型(或者叫做分类器).如图: 它分类的思想是,给定给一个包含正例和反例的样本集合,svm的目的是寻找一个超平 ...

  10. 【Offer】[3-2] 【不修改数组找出重复的数字】

    题目描述 思路分析 Java代码 代码链接 题目描述 在一个长度为n+1的数组里的所有数字都在1~n的范围内,所以数组中至少有一个数字是重复的. 请找出数组中任意一个重复的数字,但不能修改输入的数组. ...