이 즉시 생각 나는 그 몇이되지 않는 최대 절전 모드 기준 API에서 마이그레이션 행사할 수 옵션을 있습니다됩니다
- HQL/JPQL
- 명명 된 쿼리는
- 하십시오 HQL/JPQL의 관점에서 JPA 기준 API
, 당신은 문자열로 쿼리를 다시 작성할 수
Curso result = session.createQuery("FROM Curso WHERE codigo = :codigo")
.setParameter("codigo", curso.getCodigo())
.uniqueResult();
기본적으로 위와 마찬가지로 HQL 쿼리를 제공하는 엔티티 또는 패키지에 적용되는 주석이며 쿼리 매개 변수의 자리 표시자를 같은 방식으로 지정하면 이 같은 쿼리를 실행할 때 이러한 매개 변수는 런타임이있다 공급 :
Curso result = session.createNamedQuery("Curso.findByCodigo")
.setParameter("codigo", curso.getCodigo())
.uniqueResult();
그리고 마지막으로, 당신은 또한 JPA 기준 API를 고려할 수 있습니다. 이것은 최대 절전 모드 Session
대신 JPA EntityManager
을 사용하는 경우에 사용할 수 있습니다. https://stackoverflow.com/questions/ :
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Curso> query = cb.createQuery(Curso.class);
Root<Curso> root = query.from(Curso.class);
query.select(root)
.where(cb.eq(root.get("codigo"), curso.getCodigo()));
Curso result = entityManager.createQuery(query).getSingleResult();
질문 – CCBlackburn
같은 질문을하는 방법에 대한 http://stackoverflow.com/help/how-to-ask을 검토하십시오, 당신이 대답을 돕기 위해서 40720799/deprecated-createcriteria-method-in-hibernate-5 – faoxis