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导致内存溢出的更多相关文章

  1. WPF循环加载图片导致内存溢出的解决办法

    程序场景:一系列的图片,从第一张到最后一张依次加载图片,形成“动画”. 生成BitmapImage的方法有多种: 1. var source=new BitmapImage(new Uri(" ...

  2. 图片--Android加载图片导致内存溢出(Out of Memory异常)

    Android在加载大背景图或者大量图片时,经常导致内存溢出(Out of Memory  Error),本文根据我处理这些问题的经历及其它开发者的经验,整理解决方案如下(部分代码及文字出处无法考证) ...

  3. 添加IFrame导致内存溢出的解决过程(IE浏览器,目前发现了原因,还未解决)

    1.  现象 每次动态添加iframe时,iexplore.exe进程占据的内存都会增加(大概10M左右),不会自动释放,最终导致内存溢出 2.  解决过程 经过网络的一番搜索,基本上给出的解决方案是 ...

  4. POI读写大数据量excel,解决超过几万行而导致内存溢出的问题

    1. Excel2003与Excel2007 两个版本的最大行数和列数不同,2003版最大行数是65536行,最大列数是256列,2007版及以后的版本最大行数是1048576行,最大列数是16384 ...

  5. php查询mysql返回大量数据结果集导致内存溢出的解决方法

    web开发中如果遇到php查询mysql返回大量数据导致内存溢出.或者内存不够用的情况那就需要看下MySQL C API的关联,那么究竟是什么导致php查询mysql返回大量数据时内存不够用情况? 答 ...

  6. Android加载图片导致内存溢出(Out of Memory异常)

    Android在加载大背景图或者大量图片时,经常导致内存溢出(Out of Memory  Error),本文根据我处理这些问题的经历及其它开发者的经验,整理解决方案如下(部分代码及文字出处无法考证) ...

  7. String的replace导致内存溢出

    从一次内存溢出来看JDK的String应该怎么用 背景 JDK在String类中给我们提供的API,replace是个使用频率很高的的方法.因为他可以对字符串内容进行替换,只需要输入替换字符串和被替换 ...

  8. go-处理字符串导致内存溢出

    今日用go来做字符的“+”连接操作,每次连接的字符串大致有10M左右,循环连接100次,直接导致go内存溢出了. // Text project main.go package main import ...

  9. 使用NPOI或POI 导出Excel大数据(百万级以上),导致内存溢出的解决方案(NPOI,POI)

    使用工具:POI(JAVA),NPOI(.Net) 致谢博主 Crazy_Jeff 提供的思路 一.问题描述: 导出任务数据量近100W甚至更多,导出的项目就会内存溢出,挂掉. 二.原因分析: 1.每 ...

随机推荐

  1. 在 macOS 中使用 Podman

    原文链接:https://fuckcloudnative.io/posts/use-podman-in-macos/ Podman 是一个无守护程序与 Docker 命令兼容的下一代 Linux 容器 ...

  2. 图解HTTP简单笔记【上】

    第一章 了解WEB及网络基础(省略了TCP/IP的知识点) 1.1.使用HTTP协议访问web  当我们在主机的浏览器的地址输入URL之后 请求将回发送至目标服务器 目标服务器在接受到响应请求时将会响 ...

  3. redis的分布式锁工具LockUtil

    /** * 基于redis的分布式锁工具 * * @author yuyufeng * */ public class LockUtil { // 获取redis static JedisPool j ...

  4. 二叉堆python实现

    二叉堆是一种完全二叉树,我们可以使用列表来方便存储,也就是说,用列表将树的所有节点存储起来. 如下图,是小根堆方式的二叉堆,假设父节点的下标为p,则他的左孩子下标为2P+1,右孩子下标为2P+2 cl ...

  5. 用MathType怎么把分数打出来

    分数是生活中最常见的数,作为大学生学习高数概率论更是离不开分数.分数是指整体的一部分,或更一般地,任何数量相等的部分.分数是一个整数a和一个正整数b的不等于整数的比. 当在日常用语中说话时,分数描述了 ...

  6. css3系列之属性选择器

    Attribute Selectors(属性选择器) E[attr ~="val"] E[attr |="val"] E[attr ^="val&qu ...

  7. JPA使用之@Query的常用写法

    准备 实体 @Data @Table(name = "task_apply") @Entity public class TaskApply { @Id @GeneratedVal ...

  8. appium元素定位总结

    appium元素定位方法总结 使用uiautomator定位 driver.find_element_by_android_uiautomator(uia_string) 根据resourceId属性 ...

  9. springboot打jar包将引用的第三方包、配置文件(.properties、.xml)、静态资源打在包外

    1.外置配置文件 Springboot读取核心配置文件(.properties)的外部配置文件调用方式为 jar包当前目录下的/config目录 因此要外置配置文件就在jar所在目录新建config文 ...

  10. charles 常用功能(八)重定向

    1.点击鼠标右键 点击保存就保存到桌面上了 效果图 在123.txt中修改 然后另存为 点击红圈处 然后再次发送请求