So konvertieren Sie diese Hibernate-Kriterienabfrage, um stattdessen javax.jpa.CriteriaQuery Multiple Root Entities zu vJava

Java-Forum
Anonymous
 So konvertieren Sie diese Hibernate-Kriterienabfrage, um stattdessen javax.jpa.CriteriaQuery Multiple Root Entities zu v

Post by Anonymous »

Da die API „hibernate.criteria“ veraltet ist, benötige ich Hilfe bei der Konvertierung bestimmter Methoden in JPA „criteriesQuery“.

Die einfacheren Aufrufe mit einzelnen Kriterien und begrenzten Parametern kann ich verarbeiten, aber wie kann ich aus einem Hibernate-Kriterium konvertieren, das mit mehreren Root-Entitäten erstellt wurde? Hier ist der org.hibernate.criteria-Code, der konvertiert werden muss

Code: Select all

Criteria crit =
session.createCriteria(getType())
.createCriteria("deviceInfo"
.createCriteria("deviceSize");
crit.add(Restrictions.ilike("upperName", modelName));

List matches = crit.list();
Die Konvertierung für so etwas mit einem einzelnen Aufruf von createCriteria kann ich verwalten. Sie sehen ungefähr so ​​aus

Code: Select all

CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery cq = cb.createQuery(getType());
Root model = cq.from(getType());
cq.select(model);
cq.where(cb.equal(model.get("primaryEntityId"), entityId));
TypedQuery q = entityManager.createQuery(cq);
List matches = q.getResultList();
Das Einzige, was ich in JPA scheinbar nicht nachbilden kann, sind die beiden an createCriteria übergebenen Assoziationspfade

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post