У меня есть две модели - Галерея и Категория .
Категория имеет много Галерея - @OneToMany
Галерея принадлежит Галерея - @ManyToOne
Галерея. java
@Entity(name="Gallery")
public class Gallery {
@ManyToOne
@JoinColumn(name="category_id")
private Category category;
/* other code */
}
Категория. java
@Entity(name="Category")
@Table(name="categories")
public class Category {
@OneToMany(mappedBy="category")
private Gallery gallery;
/* other code */
}
Галерея Репозиторий. java
@Repository("galleryRepository")
public interface GalleryRepository extends JpaRepository<Gallery, Long>, SiteInfoCustomRepository {
}
Вопрос : Как получить данные галереи на основе названия категории? Я попытался EntityManager и JOIN-запрос , но он не возвращается в нужном формате.
GalleryService. java
@Override
public List<Gallery> getGallery(String cat) {
// this works fine, fetches gallery and associated category
galleryRepository.findAll();
// I want to fetch gallery data which matches a particular category title
}