【发布时间】:2018-12-13 07:49:56
【问题描述】:
我是 Hibernate 的初学者,我不想弄清楚一些机制。 我有实体:
@Entity
@Table(name = "dish")
public class Dish implements Serializable {
@ManyToMany(fetch = FetchType.LAZY)
private List<Ingredient> ingredients;
@ManyToOne(fetch = FetchType.LAZY)
private Category category;
}
以及使用这种方法的存储库:
@Query("select d from Dish d join fetch d.ingredients")
Set<Dish> getDishesWithIngredientsAndCategory();
我注意到,我通过这种方法仅检索具有相关成分的菜肴。我不知道如何获得所有菜肴,即使没有配料? 而第二个问题是:是否可以在一个@Query 中合并获取两列?比如:
@Query("select d from Dish d join fetch d.ingredients, d.category")
我尝试使用此类查询,但收到 QuerySelectionException:“d.category is not mapped”。
【问题讨论】:
标签: java hibernate jpa spring-data-jpa hql