JPA超集使用CriteriaQuery API

时间:2017-01-31 03:54:51

标签: java hibernate jpa

鉴于以下类别:

@Entity
public class Recipe {

    @Id
    @Column
    private long id; 

    @ElementCollection
    @CollectionTable(name = "recipe_ingredient", joinColumns = @JoinColumn(name = "id"))
    private Set<String> ingredients;

    ...
}

如何使用CriteriaQuery API在JPA中编写以下内容: &#34;给出一份成分清单,返回至少含有所有指定成分的食谱&#34;

1 个答案:

答案 0 :(得分:0)

随便,它可能是这样的:

criteria.add(Restrictions.in("recipe.ingredients", ingredients));

其中ingredients是成分字符串的集合。如果ingredients引发异常,请添加别名。

警告:Criteria API现在为deprecated

否则,您可以查看here for an example.