Hi,
Not only happend with method guardarUsuario()
I Post you the method detail.
public Usuario guardarUsuario(Usuario user,Terminal terminal){ log.debug("Verificando si el usuario existe en la base de datos"); Usuario persistente = (Usuario)PersistenceManager.get(Usuario.class,user.getLinea()); //PersistenceManager.lockPessimistic(persistente,LockMode.UPGRADE); log.debug("Usuario existe en la base? - "+existUser(persistente)); PersistenceManager.getSession().setFlushMode(FlushMode.COMMIT); if(existUser(persistente)){ log.debug("Existe usuario - Actualizando ................."); persistente.setFechaActualizacion(new Date()); log.debug("Actualizando fecha del usuario"); persistente.setTelco(user.getTelco()); log.debug("Actualizando telco de acuerdo al portal "); persistente.setTerminal(terminal); log.debug("Seteando nueva terminal de acuerdo al userAgent"); PersistenceManager.update(persistente); return persistente; }else{ log.debug("Persistiendo nuevo usuario.........."); PersistenceManager.save(user); log.debug("Usuario insertado en la base........"); return user; } }
The next code is the method PersistenceManager.update() look you see how i update object
public static void update(Object obj) { try { beginTransaction(); log.debug("Updating object - " + obj.getClass().getName()); getSession().update(obj); } catch (HibernateException e) { log.debug("Error updating object - " + obj.getClass().getName() + " \n " + e.getMessage()); throw new DCMHibernateException(e); } }
This is the mapping file of "Usuario.class":
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping
>
<class
name="com.mjoy.dcmbase.entities.Usuario"
table="usuarios"
>
<id
name="linea"
column="linea"
type="java.lang.Long"
unsaved-value="null"
>
<generator class="assigned">
<!--
To add non XDoclet generator parameters, create a file named
hibernate-generator-params-Usuario.xml
containing the additional parameters and place it in your merge dir.
-->
</generator>
</id>
<property
name="fechaActualizacion"
type="java.util.Date"
update="true"
insert="true"
column="fecha_actualizacion"
not-null="false"
/>
<property
name="fechaAlta"
type="java.util.Date"
update="true"
insert="true"
column="fecha_alta"
not-null="false"
/>
<many-to-one
name="telco"
class="com.mjoy.dcmbase.entities.Telco"
cascade="none"
outer-join="auto"
update="true"
insert="true"
column="id_telco"
/>
<many-to-one
name="terminal"
class="com.mjoy.dcmbase.entities.Terminal"
cascade="none"
outer-join="auto"
update="true"
insert="true"
column="id_terminal"
/>
<!--
To add non XDoclet property mappings, create a file named
hibernate-properties-Usuario.xml
containing the additional properties and place it in your merge dir.
-->
</class>
<query name="BuscarUsuario"><![CDATA[
from Usuario as u where u.linea = :linea
]]></query>
</hibernate-mapping>
If you need some information about something i do in my application, tell me.
Thanks for your help
Juan Pablo
|