Я новичок в весенней загрузке, я использовал его для реализации API отдыха.У меня есть таблица ссылок, где каждый элемент имеет структуру родительского дерева.Я использовал ManyToOne, чтобы реализовать это, и я получаю объект json, который содержит родителя.Если я получу все предметы, скорость будет очень медленной, так как существует огромная задержка в сети и обработка, потому что мое дерево может содержать до 10000 предметов.
Как я могу представить это, используя ссылки, т.е. объект json содержит ссылку на родителя и массив ссылок на потомков.Я читал, что DTO может быть использован для реализации этого, но я не нашел полной информации.
часть моего кода
@Entity
@Table(name = "Item", schema = "dbo")
@Getter
@Setter
public class Item {
@Id
@GeneratedValue
@Column()
private Integer ItemID;
@Column()
private String Project;
@Column()
private String Name;
@Column()
private Integer Version;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "ParentItemID", insertable = false, updatable = false)
private Item parentItem;
My controller is strait forward
@Autowired
ItemService ItemService;
@RequestMapping ("/items")
public Iterable<Item> items(@RequestParam(value = "page", defaultValue = "0") Integer page,
@RequestParam(value = "size", defaultValue = "20") Integer size, Authentication auth) {
return ItemService.findPaginated(page, size);
}
Я был бы рад, если бы получил больше объяснений о том, как использовать DTO или другой дизайн, чтобы получить ссылки вместо полных объектов.