Manejar una transacción en JEE para modificar un elemento...

Saludos a todas en esta comunidad, hace algun tiempo me he registrado y mi impresión es
muy buena. Soy cubano y esta es la comunidad que me queda más cerca (jajaja), asi que me siento como en casa. Gracias a Java México.

Aquí les dejo un ejemplo de cómo manejar una transacción en JEE para modificar un elemento.
saludos.

@PersistenceContext
private EntityManager em;
@Resource
private UserTransaction ut;

public void modificarOrden(Integer idOrden, Orden ordenProd) throws NoSuchElementException, Exception {
try {
//abrimos la transacción
this.ut.begin();
//localizamos el elemento al cual vamos a modificar
PreOrdenProduccion ordenModi1 = this.em.find(Orden.class, idOrden);
//creamos una referencia al objeto
PreOrdenProduccion ordenModi = this.em.merge(ordenModi1);

//actualizando Orden
ordenModi.setCliente(ordenProd.getCliente());
ordenModi.setCodigo(ordenProd.getCodigo());
ordenModi.setDestino(ordenProd.getDestino());
this.ut.commit();
}
}

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de neko069

Bien..

Sólo un par de sugerencias, cuando escribas código ponlo entre tags de <code> y </code> para que se vea la diferencia entre tu explicación y el código Java.
Segunda, sería bueno que colocaras el código de la clase Orden porque sin contexto, no es tan fácil entender de dónde salen los get que colocas.

sugerencias aceptadas y aclaraciones

ok neko069, gracias por las sugerencias...
ahora mirando bien veo que podria dar alguna explicacion más...

los parametros son el id del elemento a modificar y una intancia del mismo tipo con los datos nuevos.

Imagen de paranoid_android

Podrias agregar los imports

Hola podrias agregar los imports.
Saludos y Gracias

import

import administracion.AreasRemote;
import administracion.ConceptodegastoBeanRemote;
import administracion.ElementoGastosRemote;
import com.svcon.jdbf.DBFReader;
import com.svcon.jdbf.JDBFException;
import entidades.RhArea;
import entidades.PreCoeficiente;
import entidades.PreCoeficientePK;
import entidades.PreConceptoGastos;
import entidades.PreDatostecnologicosdelservicio;
import entidades.PreElementoGastos;
import entidades.CtEmpresaCliente;
import entidades.PreEquipos;
import entidades.PreFichaConceptoElemento;
import entidades.PreFichaCosto;
import entidades.PreFuerzadetrabajo;
import entidades.RhGrupoSalarial;
import entidades.AlmMateriales;
import entidades.PreMoneda;
import entidades.PreNominademateriales;
import entidades.RhOperario;
import entidades.PreOperaciones;
import entidades.Orden;
import java.io.File;
import java.math.BigDecimal;
import java.math.MathContext;
import java.sql.ResultSet;
import java.util.AbstractCollection;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.NoSuchElementException;
import javax.annotation.Resource;
import javax.ejb.EJB;
import javax.ejb.EJBException;
import javax.ejb.Stateful;
import javax.ejb.Stateless;
import javax.ejb.TransactionManagement;
import javax.ejb.TransactionManagementType;
import javax.persistence.EntityExistsException;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.NonUniqueResultException;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import javax.transaction.RollbackException;
import javax.transaction.UserTransaction;

Imagen de paranoid_android

Gracias

Gracias, era para ver de donde salian las anotaciones.

Me he perdido

Yo pensaba que los objetos del mundo real se modelaban en clases, que en J2EE son  , dónde la transaccionalidad de los métodos es gobernada por un descriptor XML (por ejemplo:  ) ¿no?

O dicho de otra forma, si la tecnología no nos proporciona una manera ágil, eficaz, extensible y robusta de manejar las transacciones, mal vamos....

Salu2