【发布时间】:2021-01-09 10:55:25
【问题描述】:
我有 3 个实体:
@Entity
@Table(name = "copy")
public class Copy {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column
private Long id;
@Column(name = "format")
private String format;
@Column(name = "status")
private String status;
@ManyToOne
@JoinColumn(name = "book_id")
private Book book;
@ManyToOne
@JoinColumn(name = "library_id")
private Library library;
@Entity
@Table(name = "book")
public class Book implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column
private Long id;
@Column(name = "title")
private String title;
@Column(name = "pub_date")
private Date pubDate;
@Column(name = "page")
private int page;
@Column(name = "synopsis")
private String synopsis;
//TODO Image à gérer
@Column(name = "cover")
private String cover;
@ManyToOne
@JoinColumn(name = "categorie_id")
private Categorie categorie;
@ManyToOne
@JoinColumn(name = "author_id")
private Author author;
@OneToMany(mappedBy = "book")
List<Copy> copyList = new ArrayList<>();
@Entity
@Table(name = "library")
public class Library implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column
private Long id;
@Column(name = "nom")
private String nom;
@Column(name = "adress")
private String adress;
@Column(name = "phone_num")
private String phoneNum;
@Column(name = "email")
private String email;
@OneToMany(mappedBy = "library")
private List<Copy> copyList = new ArrayList<>();
我想根据图书的格式和图书馆恢复图书的副本数。但是,我无法弄清楚如何根据格式及其库检索副本列表和总数。我能怎么做。我写了这个请求,但我无法得到我想要的。
我的要求:
@Query("SELECT DISTINCT c, COUNT(c.format) FROM Copy c WHERE c.book.id = :id")
List<Copy> getCopyById(@Param("id") Long id);
【问题讨论】:
-
这就是
GROUP BY的用途。
标签: java spring spring-boot thymeleaf jpql