Я работаю над проектом, который использует Hibernate.У нас есть база данных, и теперь я хотел бы запросить ее.
В идеальном случае я знаю, что могу восстановить объект по его идентификатору или с помощью языка запросов Hibernate.Но для меня было бы оптимальным, если бы существовал метод, которому я отправляю объект с атрибутами, которые я хочу использовать в качестве фильтра, и возвращаю все объекты в этой таблице, которые соответствуют этим критериям.Например,
Person p = new Person();
p.setName("Junior");
p.setAge(10);
session.Load(Person.class, p); //this would return all "junior" with age = 10
Я думаю, что Hibernate обеспечит аналогичную функциональность.Является ли?Какой метод мне следует использовать?
Спасибо, Оскар
РЕДАКТИРОВАТЬ: @nIKUNJ указал мне на критерии, что будет очень похоже на то, что мне нужно.Проблема в том, что я хотел бы иметь класс DatabaseManager, который бы обрабатывал функции сохранения, загрузки и т. Д.Например, моя загрузка выглядела бы так:
public <T extends Serializable> List<T> load(T filters, Class<T> type)
{
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
List<T> searchResult;
session.beginTransaction();
searchResult = ((List<T>)session.get(type, filters)); //assuming the method
//I asked for in the question exists
return searchResult;
}
Таким образом, я мог бы отправить почти любой объект этому методу, а метод запросил бы базу данных и вернул бы мне список объектов, соответствующихкритерии.
У вас есть идея, как я могу имитировать это поведение, используя класс Criteria?
Спасибо, Оскар