class Category{
@Id
@Column(name="ID")
private Integer id;
private String name;
@OneToMany
@JoinColumn(name="CATEGORY_ID",referencedColumnName="ID")
private Set<Item> items;
}
class Item{
private Integer id;
@Column(name="CATEGORY_ID")
private Integer categoryId;
private String name;
private String color;
}
Здесь у меня есть два субъекта (категория & Item), который имеет один ко многим.Как применять ограничение на обоих соединяемых лиц в спящий режим
Я попытался получить предметы, которые находятся под категорией id = 5 и цветом item = red. Я хотел бы, чтобы результат что-то вроде
{идентификатор: 5, название: 'фрукты' элементы: [{ID: 3, название: "помидор", цвет: красный}, {ID: 55 , название: "яблоко", цвета: "красное"}]}
Criteria c=session.createCriteria("Category.class","cat");
c.createAlias("cat.items","it");
c.add(Restrictions.eq("cat.id,5));
c.add(Restrictions.eq("it.color","red"));
List<Category> cateList=c.list();
Однако я получаю все элементы в категории ид = 5; Wasted много time.Need Help.Thanks
Category
ID NAME
1 Flower
5 Fruit
Item
ID CATEGORY_ID NAME COLOR
3 5 tomato red
55 5 apple red
4 5 banana yellow
6 5 orange orange
7 5 grape green
1 1 rose red
2 1 rose yellow
Просьба поделиться последними данными в таблице – Akshay