Ich muss eine benutzerdefinierte SQL-Funktion im Code über JPA aufrufen. Die Funktion ist in reinem SQL geschrieben und gibt die Beziehung mit einem einzelnen booleschen Wert zurück.So wählen Sie ohne from Klausel mit JPA
Mit anderen Worten muss ich JPA-Implementierung folgende wählen aufzurufen:
select function_xy(p1, p2);
Erste Implementierung:
final CriteriaBuilder cb = em.getCriteriaBuilder();
final CriteriaQuery<Boolean> criteriaQuery = cb.createQuery(Boolean.class);
final Expression<Boolean> func = cb.function("function_xy", Boolean.class,
cb.literal("bla bla"), cb.literal(someEntity.getId()));
criteriaQuery.select(func);
final TypedQuery<Boolean> query = em.createQuery(criteriaQuery);
final List<Boolean> result = query.getResultList();
return ResourceUtils.getSingleResult(result);
Dies löst eine Ausnahme aus: "Keine Kriterien abfragen Wurzeln angegeben wurden"