Я новый и на данный момент создал 2 сущности Я установил отношения onetomany - manytoone, но когда я пытаюсь увидеть запросы sql, запущенные hibernate, он делает несколько запросов для отношения manytoone. Ниже приведен фрагмент кода, который я пробовал.
@Entity
@Data
@NoArgsConstructor
@Table(name = "claim")
@AllArgsConstructor
public class Claim {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY)
@JoinColumn(name = "claim_id", nullable = false)
private List<Item> items;
}
@Data
@Entity
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "items")
public class Item {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@JsonIgnore
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "claim_id", insertable = false, updatable = false)
private Claim claim;
private String name;
}
@Repository
public interface ClaimSqlRepository extends PagingAndSortingRepository<Claim, Long>, JpaSpecificationExecutor<Claim> {
}
@RequestMapping("/claims")
@ResponseBody
public Page<Claim> getClaims(
Pageable pageable
) {
Page<Claim> page = ClaimSqlRepository.findAll(pageable);
}
После получения запроса GET и проверки терминала выполняются несколько запросов для элемента. Я уже видел довольно много постов, но все еще не смог найти проблему. Мой репозиторий реализует PagingAndSortingRepository и JpaSpecificationExecutor. Я делаю находкуВсе звоню по тому же. Ниже аналогично тому, что я видел в sql -шоу для Hibernate.
Hibernate: select claim0_.id as id1_0_ from claims claim0_ where 1=1 limit ?
Hibernate: select items0_.claim_id as clai4_1_0_, items0_.id as id1_1_0_ from items items0_ where items0_.claim_id=?
Hibernate: select items0_.claim_id as clai4_1_0_, items0_.id as id1_1_0_ from items items0_ where items0_.claim_id=?
Hibernate: select items0_.claim_id as clai4_1_0_, items0_.id as id1_1_0_ from items items0_ where items0_.claim_id=?