Допустим, у меня есть следующие сущности и ассоциации:
Сущность A:
@Entity
public class A {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToMany(mappedBy = "a", cascade = CascadeType.ALL, orphanRemoval = true)
private List<B> b;
}
Сущность B:
@Entity
public class B {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "a_id")
private A a;
@OneToMany(mappedBy = "b", cascade = CascadeType.ALL, orphanRemoval = true)
private List<C> c;
}
Сущность C:
@Entity
public class C {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "b_id")
private B b;
}
Используя .findAll()
метод CrudRepository
для сущности A
, он будет возвращать каждый A
с соответствующими B
в списке. Кроме того, каждый B
будет иметь каждый из связанных C
в списке.
У меня такой вопрос: если я в некоторых случаях хочу загрузить только все A
с их B
, но я не хочу, чтобы C
в B
, это было бы возможно? Могу ли я создать собственный запрос для этого или есть другой способ? Надеюсь, понятно, чего я хочу достичь.