Вот пример структуры, что я имею дело сПопытка создать запрос спящего режима не уверен, если понимание правильно
class Item{
Date date;
MetaData metaData;
}
class MetaData{
SysData sysData;
}
class SysData{
Set<Category> categories;
Set<Keyword> keywords;
}
На пользовательском интерфейсе пользователь должен иметь возможность просматривать все элементы в таблице. Они должны иметь возможность фильтровать элементы с определенной датой, а также любое количество ключевых слов или категорий.
Допустим, я создал Предмет с категорией «Новый» «Мужской» и ключевое слово «Быстрый» «Довольно». Если я хочу отображать все элементы с новой категорией, я просто выбираю новый тег в раскрывающемся списке и нажимаю «Запрос». Как мне создать такой запрос?
Вот что я пытался
....
Criteria criteria = sess.createCriteria(Item.class, "item");
criteria.createAlias("metaData", "meta");
criteria.createAlias("meta.sysData", "sys");
criteria.add(Restrictions.in("sys.categories", myCategories);
Я пробовал некоторые незначительные изменения, но я двигаюсь в правильном направлении, по крайней мере? Надеюсь, этого достаточно. Неважно, имеет ли SysData отношение к элементу?
Если критерии API библиотеки Hibernate ничего подобного TOPLINK в (РИ в комплекте с Glassfish), вы будете иметь более легкое время, используя язык запросов, HQL. Посмотрите на http://www.tutorialspoint.com/hibernate/hibernate_query_language.htm и найдите в Интернете дополнительные примеры. – DavidS