Как выполнить собственный запрос в данных весны jpa, выбирая дочерние сущности одновременно? Если у меня есть Eager FetchType на объекте дочернего объекта, весенние данные выполняют 2 запроса. 1 для родителя и 1 для дочерних объектов.spring data jpa native query with join
Есть ли способ выполнить только 1 собственный запрос, чтобы получить родительские и дочерние сущности?
Родитель:
@Entity
public class Parent {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Temporal(TemporalType.TIMESTAMP)
private Date ts;
@ManyToOne(fetch=FetchType.LAZY
private Child child;
}
ребенок:
@Entity
public class Child {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@OneToMany(fetch=FetchType.LAZY, mappedBy="parent")
private Parent parent;
}
запрос:
public interface ParentRepository extends Repository<Parent, Integer> {
@Query(value = "SELECT * from parents p inner join children c on c.id=p.childId where TIMESTAMPDIFF(SECOND, p.ts, CURRENT_TIMESTAMP) < :interval", nativeQuery = true)
Parent findOneByInterval(@Param("interval") long interval);
}
Я использую спящий режим 5 и MySQL вместе с JPA весной данных.
Я также попытался добавить @NamedEntityGraph к классу Parent и @EntityGraph к методу запроса не повезло
весны оленьей кожи выполнить любые запросы, ваш провайдер JPA делает. –
@NeilStockton вправо, но есть ли весна или спящий режим для отображения сущности? – rodney757