【发布时间】:2013-11-26 19:10:34
【问题描述】:
背景: 沙拉包含多种蔬菜。让我们假设沙拉的食谱是按照给定的顺序添加蔬菜,所以这个顺序也需要保持
这是类定义
public class Salad {
private String name;
private String description;
private List<Vegetable> veggies = new ArrayList<Vegetable>();
//setters and getters
}
public class Vegetable {
private String name;
private String description;
//setters and getters
}
这里是hibernate-mapping.xml
<hibernate-mapping>
<class name="Salad" table="SALAD">
<id name="id">
<generator class="sequence"/>
</id>
<property name="name"/>
<property name="description"/>
<list name=veggies cascade="all-delete-orphan" table="SALAD_VEGGIES" lazy="false">
<key column="salad_id" />
<list-index column="idx" />
<many-to-many column="veg_id" class="Vegetable" />
</list>
</class>
<class name="Vegetable" table="VEGETABLE">
<id name="id">
<generator class="sequence"/>
</id>
<property name="name"/>
<property name="description"/>
</class>
</hibernate-mapping>
- 我正在使用列表,因为必须保留蔬菜的顺序
- 保存沙拉时,蔬菜表中已存在成分蔬菜
目标: 创建一个 JPQ 查询以获取给定沙拉所涉及的所有蔬菜的列表
我尝试了什么? 1)
SELECT v FROM SALAD.veggies v where v.salad_id = :salad_id
这没有用。如何查询没有类的表(如 List 和 Map? 变量)
【问题讨论】:
-
如果我的回答有帮助,请将其标记为已接受。
标签: java hibernate jpa persistence