Ich habe eine Tabelle mit einem String-Feld und versuchen, dieses Feld zu aktualisieren und das Update über EntityManager mit der Datenbank zusammenführen. Dies geschieht und ohne exceptio, aber ich sehe keine Auswirkungen auf die Datenbank und keine Ideen, was da oben ist. Hoffe, dass jemand eine Idee hat. Im folgenden Beispiel match != null
und mit beiden print-Anweisungen bekomme ich den erwarteten Wert in mein Protokoll geschrieben. Die Zusammenführung innerhalb der Transaktion hat jedoch keine Auswirkungen auf die Datenbank, obwohl die Festschreibung beendet wurde.Zusammenführung ohne Ausnahme, aber ohne Auswirkungen auf die Datenbank Glassfish 4.1 JPA
@Named
@SessionScoped
@ManagedBean
public class LoginController implements Serializable {
@PersistenceUnit
private EntityManagerFactory emf;
public String mymethod(){
...
match.setPwdResetId(rs);
System.out.println("reset it is now "+match.getPwdResetId());
try{
ut.begin();
emf.createEntityManager().merge(match);
ut.commit();
}
catch(Exception e){
FacesMessage m2 = new FacesMessage("Values could not be saved. ");
FacesContext.getCurrentInstance().addMessage("ResetForm", m2);
System.out.println("exceptio persisting "+e);
return "message.jsf";
}
System.out.println("reset it is now2 "+match.getPwdResetId());
können Sie die Einheit abzulösen und dann verschmelzen? – Apostolos
Ja! Woher wussten Sie? Nach dem Trennen konnte ich sogar zusammenführen und sehe es nun in der Datenbank. Ich würde gerne die Gründe kennen und Ihr Denken lernen. Vielen Dank – Tom
Ich fügte eine Antwort hinzu, um es zusammen mit dem Merge-Teil der jpa-Spezifikation und einem Link zu der gesamten Spezifikation pdf zu akzeptieren. Viel Spaß beim Lesen :) – Apostolos