Mit Spring HibernateTemplate. Gewusst wie: löschen von Id?
Für die Arbeit mit der Datenbank, meine Klasse erweitert HibernateDaoSupport
Klasse und innerhalb der Methoden, die ich verwende Frühjahr HibernateTemplate
.
So, zum löschen einer Zeile in der Datenbank verwende ich diese Methode:
public void delete(MyObject obj) {
getHibernateTemplate().delete(obj);
}
alles ok!
Aber in diesem moment bin ich versucht, eine Methode zu implementieren, die das löschen kann eine Zeile anhand id:
public void delete(final long id) {
//some code here
}
Und ich kann nicht finden, einige HibernateTemplate
Methode wie diese:
getHibernateTemplate().remove(id)
Was ist eine gute Lösung für mich in diesem Fall?
InformationsquelleAutor user471011 | 2012-01-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
löschen, indem Sie insbesondere-id,
Berücksichtigen Sie auch encapuslate diese Methoden in try/catch/finally und melden Sie die Fehler wie erforderlich
Wenn id nicht vorhanden ist, wird der
myObject
null, unddelete()
Fehler verursachen?ja, erhalten Sie eine Ausnahme aufgrund der Belastung ist der Auffassung, dass das Objekt vorhanden ist. Wenn Sie vermeiden möchten, solche Ausnahme verwenden
get
eher alsload
InformationsquelleAutor Kushan
Andere alternative ist:
InformationsquelleAutor Gere
Wie Sie bereits erwähnt, es gibt keine solche Methode in HibernateTemplate. Sie können Folgendes tun,
InformationsquelleAutor Adi
Können Sie auch verwenden Sie die folgende Methode:
InformationsquelleAutor Yoking Zhang
Gibt es eine einfache Lösung, indem Sie ein Objekt erstellen und die Einstellung der ID:
Der Nachteil dieser einfachen Lösung ist, dass Sie nicht entfernen Sie die dazugehörigen Instanzen.
Wenn Sie einige Attribut (einem anderen Unternehmen bezogen) das Produkt gelöscht wird, werden Sie brauchen, um zu laden, das Produkt vor.
Wird diese Frage (wenn Sie eine Attribut-Tabelle in Kaskade) löschen Sie die Kinder Parametern.
InformationsquelleAutor maborg