Ответ 1
List<Products> list = session.createCriteria(Products.class).list();
Это даст вам все записи таблицы продуктов из базы данных
В следующем коде я пытаюсь получить список продуктов, который содержит все продукты в базе данных:
public List<Products> getAllProducts() throws Exception{
try{
List<Products> products ;
org.hibernate.Transaction tx = session.beginTransaction();
products = session.createSQLQuery("SELECT * FROM Products").list();
if(products.size() > 0)
{
return products;
}
return null;
}
catch(Exception e)
{
throw e;
}
}
однако это исключение:
[Ljava.lang.Object; cannot be cast to mediatek.Products
List<Products> list = session.createCriteria(Products.class).list();
Это даст вам все записи таблицы продуктов из базы данных
Ваш ответ не только добавляет приведение, но и переключается с SQL на HQL. Поскольку ваш второй запрос находится в HQL, Hibernate может использовать информацию сопоставления, чтобы узнать, какой класс должен возвращаться. Это предпочтительный способ сделать что-то в Hibernate, но если вам приходилось использовать SQL по какой-то причине, вы могли бы достичь того же:
(List<Products>)session.createSQLQuery("SELECT * FROM Products").addEntity(Products.class).list();
Забыл ввести запрос. он работает сейчас.
List<Products> products = (List<Products>) session.createQuery("from Products").list();