Hibernate 属于等级的
我有一个JPA实体,表示产品类别树:Hibernate 属于等级的,hibernate,jakarta-ee,jpa,tree,hierarchy,Hibernate,Jakarta Ee,Jpa,Tree,Hierarchy,我有一个JPA实体,表示产品类别树: @Entity @Table(name="gusti") @NamedQueries({ @NamedQuery(name="selectAll", query="select c from Gusto c left join fetch c.children left join fetch c.parent") }) public class Gusto implements Serializable { private static
@Entity
@Table(name="gusti")
@NamedQueries({
@NamedQuery(name="selectAll", query="select c from Gusto c left join fetch c.children left join fetch c.parent")
})
public class Gusto implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotNull
private String nome;
@Lob
private String descrizione;
@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER)
@JoinColumn(name = "parent_id")
private List<Gusto> children = new LinkedList<Gusto>();
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(
name = "parent_id",
insertable=false,
updatable=false
)
private Gusto parent;
@OneToMany(
mappedBy="gusto",
cascade=CascadeType.ALL,
fetch=FetchType.LAZY
)
private List<Prodotto> prodotti = new ArrayList<Prodotto>();
// ...
}
让我们假设我的味觉树是这样的:
Fruit
|_ Blackberry
|_ Orange
Vegetable
|_ Potato
我有一些产品的口味是“水果”(母亲的对象)和其他产品下的“橙色”味
我正在建立一个页面,必须显示所有水果的产品。
因此,我必须包括直接在“水果”下的产品和在“橙色”下的产品
“prodotti”列表只包含与该单一味觉直接相关的产品
如何在查询中包含与子Gustos关联的产品
我考虑使用一种方法遍历树并将找到的所有产品添加到返回列表中。有没有一种方法可以通过单个查询或其他技术检索它们
多谢各位
Fruit
|_ Blackberry
|_ Orange
Vegetable
|_ Potato