0
我使用Hibernate的4和JSF 2Hibernate的一個一對多匹配多個ID
考慮下面的映射
@Entity
@Table(name = "feature")
public class Feature
{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column
private String name;
}
@Entity
@Table(name = "product")
public class Product
{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column
private String name;
@OneToMany(fetch = FetchType.LAZY)
@JoinTable(name = "product_feature", joinColumns = @JoinColumn(name = "product_id"), inverseJoinColumns = @JoinColumn(name = "feature_id"))
private Set<Feature> features = new HashSet<Feature>(0);
}
數據庫結構
Product
---------
id
name
Feature
---------
id
name
Product_Feature
----------------
product_id
feature_id
我想要做什麼現在,構建一個DetachedCriteria以獲得所有具有的產品,比如1,2和3的特徵。不僅僅是其中的一個,而是所有的產品。
我只是不能得到限制的權利,找到產品匹配所有給定的功能,而不僅僅是一個。
DetachedCriteria criteria = DetachedCriteria.for(Product.class, "product");
criteria.createAlias("product.features", "feature");
我很感激任何幫助。提前致謝。
它可能使用'限制': http://stackoverflow.com/a/3227273/1029758 – ccarc 2015-03-03 10:33:55
如下所述,這隻能確保產品具有一個定義的特徵,但不能確保它具有所有定義的功能。 – kevcodez 2015-03-03 11:03:41