Restful规则及JPA导致内存溢出
HTTP动词
对于资源的具体操作类型,由HTTP动词表示。
常用的HTTP动词有下面五个(括号里是对应的SQL命令)。
GET(SELECT):从服务器取出资源(一项或多项)。
POST(CREATE):在服务器新建一个资源。
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
DELETE(DELETE):从服务器删除资源。
还有两个不常用的HTTP动词。
HEAD:获取资源的元数据。
OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的。
下面是一些例子。
GET /zoos:列出所有动物园
POST /zoos:新建一个动物园
GET /zoos/ID:获取某个指定动物园的信息
PUT /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息)
PATCH /zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息)
DELETE /zoos/ID:删除某个动物园
GET /zoos/ID/animals:列出某个指定动物园的所有动物
DELETE /zoos/ID/animals/ID:删除某个指定动物园的指定动物
fixed 内存溢出
代码
@Setter
@Getter
@Entity
@Table(name = "tb_zoo")
public class Zoo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotBlank
private String name;
private String address;
private String url;
@OneToMany(mappedBy = "zoo")
private List<Animal> animalList;
}
@Setter
@Getter
@Entity
@Table(name = "tb_animal")
public class Animal {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotBlank
private String name;
@NotBlank
private String kind;
@ManyToOne
private Zoo zoo;
}
调用GET /zoos/{id}/animals 时, 会出现内存溢出。
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: Infinite recursion (StackOverflowError); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Infinite recursion (StackOverflowError) (through reference chain: com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"]->org.hibernate.collection.internal.PersistentBag[0]->com.chinda.entity.Animal["zoo"]->com.chinda.entity.Zoo["animalList"])] with root cause
出现此情况是因为转换json时会递归转换, 最终导致内存溢出。
解决方案: 忽略掉一方的json转换即可。
修复后代码:
@Setter
@Getter
@Entity
@Table(name = "tb_animal")
public class Animal {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotBlank
private String name;
@NotBlank
private String kind;
@JsonIgnore
@ManyToOne
private Zoo zoo;
}
码云
https://gitee.com/w_chinda/restful-api
Restful规则及JPA导致内存溢出的更多相关文章
- WPF循环加载图片导致内存溢出的解决办法
程序场景:一系列的图片,从第一张到最后一张依次加载图片,形成“动画”. 生成BitmapImage的方法有多种: 1. var source=new BitmapImage(new Uri(" ...
- 图片--Android加载图片导致内存溢出(Out of Memory异常)
Android在加载大背景图或者大量图片时,经常导致内存溢出(Out of Memory Error),本文根据我处理这些问题的经历及其它开发者的经验,整理解决方案如下(部分代码及文字出处无法考证) ...
- 添加IFrame导致内存溢出的解决过程(IE浏览器,目前发现了原因,还未解决)
1. 现象 每次动态添加iframe时,iexplore.exe进程占据的内存都会增加(大概10M左右),不会自动释放,最终导致内存溢出 2. 解决过程 经过网络的一番搜索,基本上给出的解决方案是 ...
- POI读写大数据量excel,解决超过几万行而导致内存溢出的问题
1. Excel2003与Excel2007 两个版本的最大行数和列数不同,2003版最大行数是65536行,最大列数是256列,2007版及以后的版本最大行数是1048576行,最大列数是16384 ...
- php查询mysql返回大量数据结果集导致内存溢出的解决方法
web开发中如果遇到php查询mysql返回大量数据导致内存溢出.或者内存不够用的情况那就需要看下MySQL C API的关联,那么究竟是什么导致php查询mysql返回大量数据时内存不够用情况? 答 ...
- Android加载图片导致内存溢出(Out of Memory异常)
Android在加载大背景图或者大量图片时,经常导致内存溢出(Out of Memory Error),本文根据我处理这些问题的经历及其它开发者的经验,整理解决方案如下(部分代码及文字出处无法考证) ...
- String的replace导致内存溢出
从一次内存溢出来看JDK的String应该怎么用 背景 JDK在String类中给我们提供的API,replace是个使用频率很高的的方法.因为他可以对字符串内容进行替换,只需要输入替换字符串和被替换 ...
- go-处理字符串导致内存溢出
今日用go来做字符的“+”连接操作,每次连接的字符串大致有10M左右,循环连接100次,直接导致go内存溢出了. // Text project main.go package main import ...
- 使用NPOI或POI 导出Excel大数据(百万级以上),导致内存溢出的解决方案(NPOI,POI)
使用工具:POI(JAVA),NPOI(.Net) 致谢博主 Crazy_Jeff 提供的思路 一.问题描述: 导出任务数据量近100W甚至更多,导出的项目就会内存溢出,挂掉. 二.原因分析: 1.每 ...
随机推荐
- php 进行图片裁剪
<?php $src_path = '1.jpg'; //创建源图的实例 $src = imagecreatefromstring(file_get_contents($src_path)); ...
- 使用思维导图MindManager能否增强记忆?
学生时代,每当面对冗杂的需要背诵的课业时,有很多人都会发出"这么多内容怎么背啊"."我讨厌死记硬背"."昨天背完今天就忘了"的呐喊.那么,如 ...
- 在FL Studio中如何制作和优化你的人声和弦(Vocal Chords)
人声和弦在Future Bass.Melodic Dubstep等类型的电子音乐中被常用.与一般的和弦相同,其主要起到为主旋律做铺垫的效果,但是人声和弦加入了人声的因素,可以使得和弦更有趣,更有电子音 ...
- 用MathType怎么把分数打出来
分数是生活中最常见的数,作为大学生学习高数概率论更是离不开分数.分数是指整体的一部分,或更一般地,任何数量相等的部分.分数是一个整数a和一个正整数b的不等于整数的比. 当在日常用语中说话时,分数描述了 ...
- 关于Intege.valueOf()的使用
原文链接:https://blog.csdn.net/weixin_37650458/article/details/85212730 1.Integer. valueOf()方法的作用 In ...
- Java中的接口与抽象类的区别
由于随着jdk版本的更新,在jdk1.8时,接口也增强了,所以我们分别来说明一下. (1)jdk1.8之前 在jdk1.8之前,接口里面只能定义抽象方法和常量:而抽象类比普通类有一点不同,就是抽象类里 ...
- 一个神奇的bug:OOM?优雅终止线程?系统内存占用较高?
摘要:该项目是DAYU平台的数据开发(DLF),数据开发中一个重要的功能就是ETL(数据清洗).ETL由源端到目的端,中间的业务逻辑一般由用户自己编写的SQL模板实现,velocity是其中涉及的一种 ...
- Spring Boot + Sharding-JDBC 读写分离
本文使用 Sharding-JDBC 实现读写分离,基于 CentOS 7 + MySQL 5.7 一.MySQL 安装及配置 1.1 安装 依次执行命令: sudo wget -i -c http: ...
- Feign 超时设置
问题描述 微服务之间使用 Feign 调用,偶发超时问题,配置如下: feign: client: config: default: connectTimeout: 10000 readTimeout ...
- Django结合Websocket进行WebSSH的实现
什么是webssh? 泛指一种技术可以在网页上实现一个 终端.从而无需 之类的模拟终端工具进行 连接,将 这一比较低层的操作也从 架构扭成了 架构 这样的架构常用在运维制作开发一些堡垒机等系统中,或是 ...