Hallo zusammen,
ich habe folgende Methode:
[CODE lang="java" title="Teil der ClanPlayer.java"]
public void updateName(String newName) throws Exception {
EntityManager em = EMUtils.getEntityManager();
em.getTransaction().begin();
ClanPlayer cp = em.merge(this);
cp.setName(newName);
em.getTransaction().commit();
em.close();
}[/CODE]
Diese Methode rufe ich innerhalb der gleichen Klasse (andere Methode, static) wie folgt auf:
Das funktioniert auch einwandfrei.
Wenn ich nun mit dem gleichen try-catch-Block wie oben in einer anderen Klasse die Methode aufrufe, wird der Name nicht geändert.
Ich vermutete, dass es mit dem PersistenceContext zusammenhängt, weshalb ich in der updateName()-Methode den Merge gemacht habe.
Ohne den ging es in beiden Aufrufen nicht, mit dem geht es immerhin im Aufruf innerhalb einer Methode in der selben Klasse.
Hat da jemand eine Idee?
ich habe folgende Methode:
[CODE lang="java" title="Teil der ClanPlayer.java"]
public void updateName(String newName) throws Exception {
EntityManager em = EMUtils.getEntityManager();
em.getTransaction().begin();
ClanPlayer cp = em.merge(this);
cp.setName(newName);
em.getTransaction().commit();
em.close();
}[/CODE]
Diese Methode rufe ich innerhalb der gleichen Klasse (andere Methode, static) wie folgt auf:
Java:
try {
cp.updateName(name);
} catch (Exception ex) {
ex.printStackTrace();
}
Wenn ich nun mit dem gleichen try-catch-Block wie oben in einer anderen Klasse die Methode aufrufe, wird der Name nicht geändert.
Ich vermutete, dass es mit dem PersistenceContext zusammenhängt, weshalb ich in der updateName()-Methode den Merge gemacht habe.
Ohne den ging es in beiden Aufrufen nicht, mit dem geht es immerhin im Aufruf innerhalb einer Methode in der selben Klasse.
Hat da jemand eine Idee?