【发布时间】:2017-02-13 22:25:25
【问题描述】:
我需要创建一个 Hibernate 条件来调用这个 SQL 查询
SELECT *, (SELECT avg(rating) FROM restaurant_review WHERE restaurant_id = restaurant.id) as "avegrageRating" FROM restaurant;
请帮忙:D
编辑: 以下是实体:
餐厅.java:
@Entity
@Table(name = "restaurant")
public class Restaurant {
@Id
@Column(name = "id")
public int id;
@Column(name = "name")
public String name;
@Column(name = "description")
public String description;
@OneToMany(mappedBy = "restaurantId")
public List<RestaurantReview> reviews;
}
RestaurantReview.java
@Entity
@Table(name = "restaurant_review")
public class RestaurantReview {
@Id
@Column(name = "id")
public Integer id;
// This Many to One causes an Unable to build entity manager factory exception
@ManyToOne
@JoinColumn(name = "restaurant_id", referencedColumnName="id")
public Integer restaurantId;
@Column(name = "user_id")
public Integer userId;
@Column(name = "rating")
public Integer rating;
}
我希望这会有所帮助。 我需要获取餐厅表中所有餐厅的列表,并额外添加一列包含其他表的平均评分。
【问题讨论】:
标签: hibernate subquery hibernate-criteria