ich eine Ausnahme CAN_NOT_JOIN_TO_BASIC auf meine PPV Kriterien API-Abfrage bin immer:JPA Kriterien api beitreten: CAN_NOT_JOIN_TO_BASIC
@Entity
public class Connection {
@Id
private String id;
private String sourceNodeId;
private String targetNodeId;
}
@Entity
public class Node {
@Id
private String id;
private String graphId;
}
ich alle Verbindungen, die zu einem bestimmten Graphen abrufen möchten. Die Abfrage:
final CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Connection> query = cb.createQuery(Connection.class);
Root<Connection> connection = query.from(Connection.class);
Join<Connection,Node> node = connection.join("sourceNodeId");
TypedQuery<Connection> typedQuery = entityManager.createQuery(query
.select(connection)
.where(cb.equal(joiningSequenceObject.get("graphId"), someId)));
return typedQuery.getResultList();
Was mache ich falsch? Hilfe geschätzt!
ok, danke. Also müsste ich eine Annotation hinzufügen. Ist das für die obige Struktur möglich, oder müsste ich sourceNodeId durch eine Objektreferenz für ein Knotenobjekt ersetzen? – robbit
Ja, z.B. die 'String sourceNodeId' sollte durch' Node source' mit der richtigen Annotation, '@ ManyToOne' wahrscheinlich ersetzt werden. –