【发布时间】:2017-02-16 12:25:47
【问题描述】:
如何将以下 SQL 查询转换为 Hibernate Criteria API 和 HQL。
SELECT product.* FROM product JOIN product_likes ON product_likes.product = product.id
GROUP BY product.id
ORDER BY COUNT(product_likes.id) DESC
在列表中我只想要 Product 类实体。
Product 和 ProductLikes 具有一对多的关系。
类产品
@Entity
public class Product {
@Id
@GeneratedValue
private long id;
private String name;
@OneToMany(mappedBy = "product")
private ProductLikes productLikes;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ProductLikes getProductLikes() {
return productLikes;
}
public void setProductLikes(ProductLikes productLikes) {
this.productLikes = productLikes;
}
}
类 ProductLikes
@Entity
public class ProductLikes {
@Id
@GeneratedValue
private long id;
@ManyToOne
private Product product;
@ManyToOne
private User user;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public Product getProduct() {
return product;
}
public void setProduct(Product product) {
this.product = product;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
【问题讨论】:
-
请发布您的班级映射
-
@SergeiBednar Product 和 ProductLikes 有一对多的关系
标签: hibernate hql jpql hibernate-criteria