openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scherer, Annette" <Annette.Sche...@huk-coburg.de>
Subject AW: update an remove in distributed environments
Date Wed, 29 Jul 2009 14:15:46 GMT
This works - thank you 


Annette Scherer
Abteilung Informatik


-----Urspr√ľngliche Nachricht-----
Von: Pinaki Poddar [mailto:ppoddar@apache.org] 
Gesendet: Dienstag, 28. Juli 2009 20:56
An: users@openjpa.apache.org
Betreff: Re: update an remove in distributed environments


merge() returns the updated or 'merged' instance.
So please try this and see if that works...
public void remove(Object entity) {
        try {
                EntityManager em = this.getEm();
                Object merged = em.merge(entity);
                em.remove(merged);
        } catch (Throwable t) {
                t.printStackTrace();
        }
} 



Scherer, Annette wrote:
> 
> Hello,
> 
> I am using OpenJPA in a client/server environment.
> I need to persist, find or query an object, update it and remove it.
> 
> How can I do this? As explained in OpenJPA's Manual Part 2, Chapter 8.2, I
> tried to merge the object bevor removing it. But this doesn work. 
> 
> This is my example:
> 
> Client:
> 
> TestObject test = new TestObject();
> test.setNumber(22);
> test.setName("Test22");
> Class testClass = test.getClass();
> 
> try{
> 	... sessionBeanHome.persist(test);
> } catch (Throwable e) {
> 	System.out.println(e.getMessage());
> }
> 
> TestObject testRead = null;
> try {
> 	testRead = (TestObject)... sessionBeanHome.find(testClass,
> test.getNumber());
> } catch (Throwable e) {
> 	System.out.println(e.getMessage());
> }
> 		
> try {
> 	... sessionBeanHome.remove(testRead);
> } catch (Throwable e){
> 	System.out.println(e.getMessage());
> }
> 
> 
> 
> Server (2.1 SessionBean):
> 
> public void persist(Object entity) {
> 	try {
> 		this.getEm().persist(entity);
> 	} catch (Throwable t) {
> 		t.printStackTrace();
> 	}
> }
> 	
> 
> public Object find(Class entityClass, Object primaryKey) {
> 	Object result = null;
> 	try {
> 		result = this.getEm().find(entityClass, primaryKey);
> 	} catch (Throwable t) {
> 		t.printStackTrace();
> 	}
> 	return result;
> }
> 
> public void remove(Object entity) {
> 	try {
> 		EntityManager em = this.getEm();
> 		em.merge(entity);
> 		em.remove(entity);
> 	} catch (Throwable t) {
> 		t.printStackTrace();
> 	}
> }	
> 		
> 
> My persistence.xml
> 
> <persistence xmlns="http://java.sun.com/xml/ns/persistence"
> 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> 	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
> http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
> 	version="1.0">
> 	<persistence-unit name="Test_DB">
> 		<provider>
> 			org.apache.openjpa.persistence.PersistenceProviderImpl
> 		</provider>
> 		<jta-data-source>java:comp/env/jdbc/testdb</jta-data-source>
> 		<class>de.huk.vtp.selektionen.bo.TestObject</class>
> 		<properties>
> 			<property name="openjpa.TransactionMode" value="managed"/>
>     			<property name="openjpa.ConnectionFactoryMode" value="managed"/>
>     			<property name="openjpa.jdbc.DBDictionary" value="db2"/>
>     			<property name="openjpa.jdbc.Schema" value="T7"/>
> 		</properties>
> 	</persistence-unit>
> </persistence>
> 
> 
> 
> Thank you for advice
> 
> Annette Scherer
> Abteilung Informatik
> 
> 
> 


-----
Pinaki 
-- 
View this message in context: http://n2.nabble.com/update-an-remove-in-distributed-environments-tp3343960p3345291.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.

Mime
View raw message