Собственно мне нужно вытащить автора книг по его имени а не по id
@Override
@Transactional
public Author getAuthorById(int id) {
Session session = sessionFactory.getCurrentSession();
Author author = session.get(Author.class, id);
logger.info("Class load: " + author);
return author;
}
Как это сделать?
Слышал про createCriteria
, но он deprecated.
Есть два способа - c помощью запроса на JPQL и с помощью Criteria API. Объявлена устаревшей специфическая для Hibernate версия Criteria API, а новая версия, соответствующая JPA, вполне применима.
Вариант на JPQL:
Query query = session.createQuery("from Author where name = :name");
query.setParameter("name", "Howard Phillips Lovecraft");
Author author = query.getSingleResult();
Вариант на Criteria API:
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery<Author> criteria = builder.createQuery(Author.class);
Root<Author> root = criteria.from(Author.class);
ParameterExpression<String> nameParam = builder.parameter(String.class);
criteria.select(root)
.where(builder.equal(root.get("name"), nameParam));
Query<Author> query = session.createQuery(criteria);
query.setParameter(nameParam, "Howard Phillips Lovecraft");
Author author = query.getSingleResult();
Вам надо использовать createQuery()
, что в свою очередь предпологает использование HQL.
Session session = sessionFactory.getCurrentSession();
String queryString = "from Author where " + name + "= :value";
Query queryObject = session.createQuery(queryString);
queryObject.setParameter("value", value);
List<Author> list = queryObject.list();
где name
это название поля, содержажего имя, а имя содержится в переменной value
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Мне нужно найти с помощью регвыражения строки, которые удовлетворяют сразу все следующие условия:
Есть список слов в словаре, его надо отсортировать, и как бы все работает, но буквы є, і, ґ выходят в самом концеМожно ли это как-то исправить...
Подскажите пожалуйста, написал приложение которое может получать sms в фоновом режимеНа смартфоне с android 5
Не получается сделать чтобы были отступы