hibernate json数据死循环

package com.temp.entity;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import org.hibernate.annotations.Cascade;

import com.fasterxml.jackson.annotation.JsonIgnore;

/**
 * TUser entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "t_user", catalog = "temp")
public class User implements IEntity {

    // Fields

    private Integer id;
    private String tel;
    private String userName;
    private String password;
    private String image;
    private String name;
    private String email;
    private Date birthDate;
    private Date lastDate;
    private String loginIp;
    private Date loginDate;
    private Integer state;
    private Date createDate;
    private Date modifyDate;
    private String tokenKey;
    private String nickName;
    private String sex;
    private Integer age;
    private Double height;
    private Integer tempState;
    private Double warnTemp;
    private Set<Child> TChilds = new HashSet<Child>(0);

    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "id", unique = true, nullable = false)
    public Integer getId() {
        return this.id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    @Column(name = "tel", length = 20)
    public String getTel() {
        return this.tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    @Column(name = "user_name", length = 20)
    public String getUserName() {
        return this.userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    @Column(name = "password", nullable = false, length = 32)
    public String getPassword() {
        return this.password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Column(name = "image", length = 200)
    public String getImage() {
        return this.image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    @Column(name = "name", length = 10)
    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Column(name = "email", length = 100)
    public String getEmail() {
        return this.email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Column(name = "birth_date", length = 19)
    public Date getBirthDate() {
        return this.birthDate;
    }

    public void setBirthDate(Date birthDate) {
        this.birthDate = birthDate;
    }

    @Column(name = "last_date", length = 19)
    public Date getLastDate() {
        return this.lastDate;
    }

    public void setLastDate(Date lastDate) {
        this.lastDate = lastDate;
    }

    @Column(name = "login_ip", length = 50)
    public String getLoginIp() {
        return this.loginIp;
    }

    public void setLoginIp(String loginIp) {
        this.loginIp = loginIp;
    }

    @Column(name = "login_date", length = 19)
    public Date getLoginDate() {
        return this.loginDate;
    }

    public void setLoginDate(Date loginDate) {
        this.loginDate = loginDate;
    }

    @Column(name = "state", nullable = false)
    public Integer getState() {
        return this.state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    @Column(name = "create_date", nullable = false, length = 19)
    public Date getCreateDate() {
        return this.createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    @Column(name = "modify_date", nullable = false, length = 19)
    public Date getModifyDate() {
        return this.modifyDate;
    }

    public void setModifyDate(Date modifyDate) {
        this.modifyDate = modifyDate;
    }

    @Column(name = "token_key", length = 200)
    public String getTokenKey() {
        return this.tokenKey;
    }

    public void setTokenKey(String tokenKey) {
        this.tokenKey = tokenKey;
    }

    @Column(name = "nick_name", length = 20)
    public String getNickName() {
        return this.nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    @Column(name = "sex", length = 5)
    public String getSex() {
        return this.sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    @Column(name = "age")
    public Integer getAge() {
        return this.age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Column(name = "height")
    public Double getHeight() {
        return this.height;
    }

    public void setHeight(Double height) {
        this.height = height;
    }

    @Column(name = "temp_state")
    public Integer getTempState() {
        return this.tempState;
    }

    public void setTempState(Integer tempState) {
        this.tempState = tempState;
    }

    @Column(name = "warn_temp", precision = 4)
    public Double getWarnTemp() {
        return this.warnTemp;
    }

    public void setWarnTemp(Double warnTemp) {
        this.warnTemp = warnTemp;
    }

    @OneToMany( fetch = FetchType.EAGER, mappedBy = "user")
    @Cascade(value=org.hibernate.annotations.CascadeType.SAVE_UPDATE)
    @JsonIgnore public Set<Child> getTChilds() {
        return this.TChilds;
    }

    public void setTChilds(Set<Child> TChilds) {
        this.TChilds = TChilds;
    }

}
时间: 2024-12-29 09:44:26

hibernate json数据死循环的相关文章

递归算法:解决hibernate实体外键关联,导致json解析死循环!

1:首先谈谈递归 递归算法:递归过程一般通过函数或子过程来实现.递归方法:在函数或子过程的内部,直接或者间接地调用自己的算法. 如何设计递归算法       1.确定递归公式 2.确定边界(终了)条件 递归的一般模式 procedure aaa(k:integer); begin if k=1 then (边界条件及必要操作) else begin aaa(k-1); (重复的操作); end; end; 2:应用场景  组织表: 组织树形结构,组织实体中包含父节点和子节点.还包含用户集合,用户

JAVA对象转化JSON出现死循环问题

主要是解决JSON因Hibernate映射生成的集合的转化出现的死循环问题. 这个方法很重要 1 public String ajaxJsonByObjectDirecdt(Object obj, String[] filterNames){ 2 JsonConfig jsonConfig = new JsonConfig(); 3 jsonConfig.setIgnoreDefaultExcludes(false); 4 jsonConfig.setCycleDetectionStrategy

struts返回json数据

想要在struts中返回json格式数据有两种办法. 1.使用servlet的输出流 实际上就是在struts中获取response对象的输出流.然后写入你要返回的json数据,本质和用servlet返回json数据是一样的,需要自己导入json的jar包.不做详细介绍. 2.试用struts对json的扩展 这里需要两个jar包,xwork-core-2.1.6.jar和struts2-json-plugin-2.1.8.jar.如果是用MyEclipse注入的struts环境就不需要手动了.

C#如何拿到从http上返回JSON数据?

在实际开发中,我们经常会使用到API,所谓API一般就是一个地址,我们称之为接口.然后我们通过用C#对这地址发送请求,请求后,服务器就会给我们返回数据,一般是XML或者JSON,这里我们主要讲述的是JSON. 为了演示,我们这里准备了一个接口,这是一个查询物流的接口.(读者读到这篇文章的时候,接口可能有效,也可能失效,因为接口是网上找的,不是笔者自己写的,但是原理是一样的.) 接口:  http://www.kuaidi100.com/query?type=快递公司编码&postid=物流单号

【Struts2】SSH如何返回JSON数据

  在开发中我们经常遇到客户端和后台数据的交互,使用比较多的就是json格式了.在这里以简单的Demo总结两种ssh返回Json格式的数据 项目目录如下 主要是看 上图选择的部分 WebRoot里面就是平常的配置 第一种方法是使用com.google.gson.Gson 将对象转化为Json字符串  (gson-1.6.jar) 主要的代码如下 1 package com.javen.tool; 2 3 import java.io.IOException; 4 import java.io.P

jmeter之json数据参数化 断言等

在 http Load Testing 中,json 数据的提交是个让人头疼的问题.本文详细介绍如何进行 JMeter 的 json 测试提交,以及如何将其参数化.Step 1 http json 请求采样器的录制 这个工具很多,可以使用 JMeter 代理录制,也可以使用 Badboy. Step 2 为该采样器添加 HTTP 信息管理器鼠标右击该采样器,右键菜单选择 "添加" -> 配置元件 -> HTTP 信息头管理器,然后信息头添加一条名称为 Content-Typ

XML 数据请求与JSON 数据请求

(1)XML 数据请求 使用 AFNetworking 中的 AFHTTPRequestOperation 和 AFXMLParserResponseSerializer,另外结合第三方框架 XMLDictionary 进行数据转换 使用 XMLDictionary 的好处:有效避免自行实现 NSXMLParserDelegate 委托代理协议方法来进行繁琐的数据拼凑解析 (2)JSON 数据请求 使用 AFNetworking 中的 AFHTTPRequestOperation 或 AFHTT

json数据解析,并实现将网络json数据获取用listview显示

需要使用jar包 fastjson或gson这两个jar包. //Gson的使用方式 Gson gson=new Gson(); String str=ReadAssetsFile.readtext(this,"json_ss");//this当前类,"json_ss"需要解析的文件名 UserMessage userMessage=gson.fromJson(str,UserMessage.class);//需要解析的json文件最外层类名 //fastjson的

json数据源文件解析

文章: http://blog.csdn.net/lili72 背景: 分布式文件通过rsync同步到生产机. 文件数 1440=24*60  也就是一分钟生成一个文件 文件命名 0000 0001 0002 ... 2358 2359 .由于文件传过来是JSON格式,需要对文件进行解析,导入HDFS中. 过程 1  rsync同步文件到当天的日期目录,每天实时把文件同步到生产机制定目录,每天生成新文件夹,由于是每分钟生成文件,每个文件夹都有1440个文件. 1.1  修改配置文件,增加一个目录