Batch-update zurückgegeben unerwartete Zeilenanzahl von update [0]; tatsächliche Zeilenanzahl: 0; erwartet: 1
Fehler: org.hibernate.MappingException: Unbekannt Einheit: com.myapp.- Streben.timesheetForm
Dem oben genannten Fehler tritt auf, wenn versucht wird zu speichern, Daten aus einer Bean in einem Action-Klasse in Struts mit dem hibernate framework.
Die wichtigsten Dateien:
timeSheet.jsp
timesheetForm.java
timeSheetAction.java
TimeSheetData.java ist mein pojo.
Extrahieren von Daten aus der Datenbank mit hibernate ist einfach und funktioniert wie ein Charme. Stundenzettel.jsp wird aufgefüllt perfekt.
Meine timesheetaction.java ist, wo ich Plane zum speichern der aktualisierten Daten in die Datenbank.
Ich erstellen Sie eine bean-Objekt basierend auf der Formular-Daten.
Ich ein Objekt erstellen, das, basierend auf der timesheetdata.java
Benutze ich beanutils zum kopieren der Eigenschaften der formbean in der pojo.
dann update über das session-Objekt.
Habe ich rausgefunden, dass seine null-aber das ist so viel wie ich kann arbeiten.
Session sess = HibernateUtil.getSessionFactory().getCurrentSession();
sess.beginTransaction();
timesheetForm formBean = (timesheetForm)form;
timeSheetData formData = new TimeSheetData();
formBean.setAdditionhours4_1(formBean.getAdditionhours1_1());
BeanUtils.copyProperties(formData, formBean);
sess.update(formData);
sess.getTransaction().commit();
sess.flush();
sess.close();
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, dass keine Datensätze verfügbar sind, zu aktualisieren
Bitte überprüfen Sie hibernate mapping, dieses problem kann leicht behoben, indem die änderung aktualisiert und zuschaltbarer params in anotations.
Zum Beispiel in meinem Fall, ich löste es, indem Sie es:
mit dabei:
Die Erklärung ist, dass diese params verhindern, hibernate zum aktualisieren einer verknüpften Tabelle, während Sie versuchen, einfügen, aktualisieren und anderen "super" - Tabelle. So überprüfen Sie alle hibernate anotations.