Этот код работает нормально, возвращая одну строку:
public static Customer GetCustomerFromDB() {
Configuration configuration = new Configuration();
configuration.configure("hibernate.cfg.xml");
configuration.addAnnotatedClass(com.english.Customer.class);
configuration.configure();
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
Session session = sessionFactory.openSession();
session.beginTransaction();
Customer customer = session.get(Customer.class, 1);
session.getTransaction().commit();
session.close();
sessionFactory.close();
return customer;
}
Мне нужны все строки из БД, из таблицы customer.Таблица customer содержит один элемент.Небольшой изменение.Удалите session.get () и добавьте следующие строки:
//same code as above
CriteriaQuery<Customer> criteriaQuery = session.getCriteriaBuilder().createQuery(Customer.class);
criteriaQuery.from(Customer.class);
List<Customer> contacts = session.createQuery(criteriaQuery).getResultList();
Customer customer = contacts.get(0);
//same code
Ошибка: java.lang.NoClassDefFoundError: antlr / RecognitionException
POM:
//...
<!-- https://mvnrepository.com/artifact/antlr/antlr -->
<dependency>
<groupId>antlr</groupId>
<artifactId>antlr</artifactId>
<version>3.0ea8</version>
</dependency>
//...