데이터베이스에 존재하는 값이 없기 때문에이 코드는 오류를 던지는 유지 : 그냥하지만 null 객체를 반환하는 경우일치하는 결과가 없습니다
public Foo getFoo(Parent p1, Parent p2) {
EntityManager entityManager = entityManagerFactory.createEntityManager();
CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
CriteriaQuery<Foo> criteriaQuery = criteriaBuilder.createQuery(Foo.class);
Root<Foo> root = criteriaQuery.from(Foo.class);
criteriaQuery.select(root).where(criteriaBuilder.and(
criteriaBuilder.equal(root.get("p1"), entityManager.find(Parent.class, p1)),
criteriaBuilder.equal(root.get("p2"), entityManager.find(Parent.class, p2))
));
return entityManager.createQuery(criteriaQuery).getSingleResult();
}
내가 선호가 . 내가 할 수있는 방법이 있니?
예외는이 라인에 던져됩니다 :
Foo foo = fooDao.getFoo(p1, p2);
[ObjectDB 2.5.7_03] javax.persistence.NoResultException가 없음 com.objectdb에서 고유 쿼리 (오류 782)에 대한 결과와 일치 .jpa.JpaQuery.getSingleResult (JpaQuery.java:754)