Ich habe einen zusammengesetzten Schlüssel eingebettet, dieHibernate 5.x löschen Datensatz basierend auf partiellen Composite ID?
@Embeddable
public static class PK implements Serializable {
private static final long serialVersionUID = 4049628068378058196L;
@Column(name="colA", length=32, nullable=false)
private String colA;
@Column(name = "colB", length=32, nullable=false)
private String colB;
//constructors/getters/setters
}
von zwei Spalte bestehen Gibt es eine Möglichkeit, nur colB
Wert wie
Serializable id = new String(myColBValue);
Object persistentInstance = session.get(MyObject.class, id);
if (persistentInstance != null) {
session.delete(persistentInstance);
}
oder tun mit einem persistenten Objekt löschen kann ich zurückgreifen zu müssen Verwenden der HQL-Anweisung?
okay, aber wie mit hql jetzt löschen? PK ist eine private Entität in meinem Entitätsobjekt. Scheint, dass es die Spalte nicht auflösen kann. Hibernate 5 ist wirklich mehr Ärger als Arbeit mit Mangel an Dokumentation. session.createQuery ("Löschen von MyObject wo PK.colB =: colb") \t \t \t \t \t \t \t \t \t .setParameter ("colb", "foobar") \t \t \t \t \t \t \t \t \t .executeUpdate(); führt zu einem Fehler "konnte Anweisung nicht ausführen" –