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.每 ...
随机推荐
- Redis 未授权访问漏洞批量提权
一.getshell前提 ①能有对 /root/.ssh/目录写入的权限 ②目标机开启22端口 二.安装依赖 sudo easy_install redis 三.使用 redis python hac ...
- 面试BAT问的最多的27道MyBatis 面试题(含答案和思维导图总结)
前言 关于MyBatis总结了一个思维导图希望对大家有帮助 什么是 Mybatis? Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身, ...
- CorelDRAW快速去除图片背景颜色
当我们需要从网上借助一些素材图片在CorelDRAW中运用时,往往需要去掉图片的背景颜色.本文小编分享CDR中如何快速去除图片背景颜色的方法,通过此方法可以做简单的照片抠图.合成. 1. 打开Core ...
- 使用Camtasia 让照片变身动态视频
视觉化影像已经慢慢渗入我们平日的生活了,很多人已经慢慢地从单纯的文字记录,发展到使用照片记录生活,而视频化的记录也随着智能手机的普及而迅速发展起来.对于一些曾经使用照片记录的瞬间,我们也可以将其变身为 ...
- 网络系列之 cookie增删改查(封装)
什么是cookie 呢?简单来说,这个小东西,会记录你的 浏览器 浏览习惯,或 账号密码等, 以便于提高用户的体验感. 举个例子: 你们有没有发现,去淘宝一些购物网站, 你搜索了 椅子, 挑选了一会椅 ...
- zabbix 监控文件夹
安装inotify wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz tar -zx ...
- yii2.0 关于 ActiveForm 中 checkboxList 的使用
在视图中创建复选框,列出复选框内的内容其中$id 为 列出在复选框中的数组 //$ids:所有要显示的checkbox(Array)<?=$form->field($model, 'id' ...
- Yali 19 - 8 - 6 test T2 猪国(pig) 题解
T2 猪国 题⽬描述 猪国是⼀个由 \(n\) 个城市组成的国家. 国王意识到了"要致富,先修路"这句话的重要性,它决定⼤规模修路.不巧的是,猪国的 猪们不太会⼯程,于是只能请隔壁 ...
- Linux中redis服务开启docker运行redis并设置密码
//查询目前可用的reids镜像 docker search redis //选择拉取官网的镜像 docker pull redis //查看本地是否有redis镜像 docker images // ...
- Java集合【4】-- iterable和Iterator的异同分析详解
目录 一.iterator介绍 二.iterable接口 三.为什么有Iterator还需要Iterable 一.iterator介绍 iterator接口,也是集合大家庭中的一员.和其他的Map和C ...