, JSON , . , REST, , :
@RequestMapping("/parent/{parentId}")
public Parent getParent(@PathVariable("parentId") Long id) {
return parentService.getParentWithChildren(id);
}
getParentWithChildren , Hibernate , . , , Hibernate ( ).
Spring Data entity graph:
@Entity
@NamedEntityGraphs(@NamedEntityGraph(name = "Parent.children", attributeNodes = @NamedAttributeNode("children")))
public class Parent{
@Id
private Long id;
@OneToMany(mappedBy = "parentId", fetch = FetchType.LAZY)
private Set<Child> children;
}
getParentWithChildren :
@Repository
public interface ParentRepository extends CrudRepository<Parent, Long> {
@EntityGraph(value = "Parent.children", type = EntityGraphType.LOAD)
Parent getParentWithChildren(Long parentId);
}
, :
- GetParent
- getParentWithChildren
Spring Data.