<<You may not change the reference to a collection with cascade="all-delete-orphan">>
That would be the problem.
Now you please tell me the solution.
I checked the code to assure that in no place i'm changing the reference to the collections got by recurso.getOpciones()
Hibernate version:
2.1
Mapping documents:
Recurso.hbm.xml:
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<!-- ar.com.bgba.ecompany.wfsi.Recurso root -->
<class name="ar.com.bgba.ecompany.wfsi.Recurso" table="Recurso">
<id name="uid" type="long" column="uid" unsaved-value="0">
<generator class="identity"/>
</id>
<property name="nombre" column="nombre" type="string"/>
<property name="descripcion" column="descripcion" type="string"/>
<property name="disponible" column="disponible" type="boolean"/>
<!--
<many-to-one name="ambito" column="ambito" unique="false" class="ar.com.bgba.ecompany.wfsi.Ambito"/>
-->
<set name="ambitos" table="ambito_recurso" lazy="false" cascade="save-update">
<key column="recurso_uid"/>
<many-to-many class="ar.com.bgba.ecompany.wfsi.Ambito" column="ambito_uid"/>
</set>
<!-- <set name="opciones" table="opciones_del_recurso" lazy="false" cascade="save-update"> -->
<set name="opciones" table="opciones_del_recurso" inverse="true" lazy="false" cascade="all-delete-orphan">
<key column="uid_recurso"/>
<one-to-many class="ar.com.bgba.ecompany.wfsi.Opcion"/>
</set>
<!--many-to-one name="autor" class="ar.com.bgba.ecompany.wfsi.Usuario" column="autor"/-->
<component name="autor"
class="ar.com.bgba.ecompany.wfsi.Usuario">
<property name="legajo" column="autor"
type="string"/>
</component>
<component name="modificadoPor"
class="ar.com.bgba.ecompany.wfsi.Usuario">
<property name="legajo" column="modificado_por"
type="string"/>
</component>
<property name="fechaAlta" column="fechaAlta" type="timestamp"/>
<property name="fechaUltimaModificacion" column="fechaUltimaModificacion" type="timestamp"/>
<many-to-one name="ayudaSoporte" column="ayuda_soporte" class="ar.com.bgba.ecompany.wfsi.Ayuda" cascade="all" unique="true" />
<many-to-one name="ayudaAprobador" column="ayuda_aprobador" class="ar.com.bgba.ecompany.wfsi.Ayuda" cascade="all" unique="true" />
<many-to-one name="ayudaUsuario" column="ayuda_usuario" class="ar.com.bgba.ecompany.wfsi.Ayuda" cascade="all" unique="true" />
<set name="owners_" table="owners" lazy="false">
<key column="uid_recurso"/>
<!--composite-element class="ar.com.bgba.ecompany.wfsi.Usuario">
<property name="legajo" column="usuario" type="string" not-null="true"/>
</composite-element-->
<element column="usuario" type="string" not-null="true"/>
<!--many-to-many class="ar.com.bgba.ecompany.wfsi.Usuario"/-->
</set>
<!--many-to-one name="responsable" column="usuario_responsable_id" cascade="all" class="ar.com.bgba.ecompany.wfsi.Usuario"/-->
<!--component name="responsable" class="ar.com.bgba.ecompany.wfsi.Usuario">
<property name="legajo" column="responsable" type="string"/>
</component-->
<set name="grupos" table="relacion_grupos_recursos" lazy="false" cascade="save-update">
<key column="recurso_id"/>
<many-to-many class="ar.com.bgba.ecompany.wfsi.Grupo" column="grupo_id"/>
</set>
<property name="nivelAprobadoresUsuarioPropioDesde" column="nivelAprobadoresUsuarioPropioDesde" type="int"/>
<property name="nivelAprobadoresUsuarioPropioHasta" column="nivelAprobadoresUsuarioPropioHasta" type="int"/>
<set name="gruposPropioUsuario" table="asociacion_recurso_grupo_propio_usuario"
lazy="false"
cascade="all-delete-orphan">
<key column="recurso_uid"/>
<one-to-many class="ar.com.bgba.ecompany.wfsi.RecursoGrupoGDPropioUsuario"/>
</set>
<property name="nivelAprobadoresOtrosUsuariosDesde" column="nivelAprobadoresOtrosUsuariosDesde" type="int"/>
<property name="nivelAprobadoresOtrosUsuariosHasta" column="nivelAprobadoresOtrosUsuariosHasta" type="int"/>
<set name="gruposOtrosUsuarios" table="asociacion_recurso_grupo_otros_usuarios"
lazy="false"
cascade="all-delete-orphan">
<key column="recurso_uid"/>
<one-to-many class="ar.com.bgba.ecompany.wfsi.RecursoGrupoGDOtrosUsuarios"/>
</set>
<!--
<property name="nivelAprobadoresUsuariosNuevosDesde" column="nivelAprobadoresUsuariosNuevosDesde" type="int"/>
<property name="nivelAprobadoresUsuariosNuevosHasta" column="nivelAprobadoresUsuariosNuevosHasta" type="int"/>
-->
<property name="grupoResponsable" column="grupo_responsable" type="string"/>
</class>
</hibernate-mapping>
Code between sessionFactory.openSession() and session.close():
protected ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse arg3,
Session session) throws Exception {
RecursoForm recursoForm = (RecursoForm) form;
Recurso recurso = recursoForm.getRecurso();
Set grupos = this.getGrupos(recursoForm.getGrupos(), session);
//System.out.println("[GuardarRecursoAction][execute] recuso Desde: " + recurso.getNivelAprobadoresUsuarioPropioDesde() + "Hasta: " + recurso.getNivelAprobadoresUsuarioPropioHasta());
// Obtengo el alcance que corresponda con id_alcance
//y lo seteo a recurso.
logger.debug("Recurso a guardar: " + recurso);
if (recurso.getUid() == 0)
{
recurso.setFechaAlta(new Date());
recurso.setDisponible(true);
}
recurso.setFechaUltimaModificacion(new Date());
recurso.setGrupos(grupos);
// Guardar los owners
Collection coleccionOwnerVOs = (Collection) request.getSession().getAttribute(Constants.KEY_OWNERS);
Collection owners = UsuarioManager.INSTANCE.buildDomainObjects(coleccionOwnerVOs);
recurso.getOwners().clear();
recurso.addAllToOwners(owners);
// Guardar el Responsable
logger.debug("Storing person in charge");
Collection coleccionResponsablesVOs = (Collection) request.getSession().getAttribute(Constants.KEY_RESPONSABLES);
if(coleccionResponsablesVOs != null)
{
if(coleccionResponsablesVOs.size() > 0)
{
Usuario responsable = UsuarioManager.INSTANCE.buildDomainObject((UsuarioVO)coleccionResponsablesVOs.iterator().next());
logger.debug("User in charge: [" + responsable.getLegajo() + "], " + responsable.getNombreCompleto());
recurso.setResponsable(responsable);
}
}
//Save the author only if i´m creating a resource. Otherwise, update the field ModifiedBy
if(recurso.getUid() == 0)
{
logger.debug("Saving Author.");
recurso.setAutor(SessionHelper.getInstance().getUsuario(request.getSession()));
logger.debug("Author saved.");
}
else
{
//I´m modifying, then i´ll update the field modificadoPor
logger.debug("Saving Modified by");
recurso.setModificadoPor(SessionHelper.getInstance().getUsuario(request.getSession()));
logger.debug("Modified by saved.");
}
//Save groups that belong to the responsables of the OWN user
java.util.Iterator iterTemp = null;
logger.debug("Getting own user´s groups from session.");
Collection gruposDeResponsable = (Collection)request.getSession().getAttribute(ar.com.bgba.ecompany.wfsi.usuario.view.form.Constants.KEY_GRUPOS_PROPIO_USUARIO);
logger.debug("Groups retrieved: " + gruposDeResponsable);
if(gruposDeResponsable != null)
{
iterTemp = gruposDeResponsable.iterator();
while(iterTemp.hasNext())
{
AmbitoGrupoGD group = (AmbitoGrupoGD)iterTemp.next();
RecursoGrupoGDPropioUsuario groupToAdd = new RecursoGrupoGDPropioUsuario();
groupToAdd.setGrupo(group.getGrupo());
logger.debug("Group to add: " + groupToAdd);
//Let´s check if the group is not already in the set (this applies when we are modifying)
Iterator iter = recurso.getGruposPropioUsuario().iterator();
boolean addIt = true;
while(iter.hasNext() && addIt)
{
if(groupToAdd.getGrupo().equals( ((RecursoGrupoGDPropioUsuario)iter.next()).getGrupo() ))
{
addIt = false;
}
}
if(addIt)
{
logger.debug("Adding");
recurso.addToGruposPropioUsuario(groupToAdd);
}
}
}
//Save groups that belong to the responsables of the OTHER users
logger.debug("Getting other users´ groups from session.");
gruposDeResponsable = (Collection)request.getSession().getAttribute(ar.com.bgba.ecompany.wfsi.usuario.view.form.Constants.KEY_GRUPOS_OTROS_USUARIOS);
logger.debug("Groups retrieved: " + gruposDeResponsable);
if(gruposDeResponsable != null)
{
iterTemp = gruposDeResponsable.iterator();
while(iterTemp.hasNext())
{
AmbitoGrupoGD group = (AmbitoGrupoGD)iterTemp.next();
RecursoGrupoGDOtrosUsuarios groupToAdd = new RecursoGrupoGDOtrosUsuarios();
groupToAdd.setGrupo(group.getGrupo());
logger.debug("Group to add: " + groupToAdd);
//Let´s check if the group is not already in the set (this applies when we are modifying)
Iterator iter = recurso.getGruposOtrosUsuarios().iterator();
boolean addIt = true;
while(iter.hasNext() && addIt)
{
if(groupToAdd.getGrupo().equals( ((RecursoGrupoGDOtrosUsuarios)iter.next()).getGrupo() ))
{
addIt = false;
}
}
if(addIt)
{
logger.debug("Adding");
recurso.addToGruposOtrosUsuarios(groupToAdd);
}
}
}
//SAVE the only responsable of the resource (it´s a groupGD)
gruposDeResponsable = (Collection)request.getSession().getAttribute(ar.com.bgba.ecompany.wfsi.usuario.view.form.Constants.KEY_GRUPOS_RESPONSABLE);
if(gruposDeResponsable != null)
{
iterTemp = gruposDeResponsable.iterator();
while(iterTemp.hasNext())
{
AmbitoGrupoGD group = (AmbitoGrupoGD)iterTemp.next();
recurso.setGrupoResponsable(group.getGrupo());
}
}
if (recursoForm.getDisponible() != null)
{
recurso.setDisponible(true);
}
logger.debug("Before saving");
//session.saveOrUpdateCopy(recurso);
this.confirmarSession(request);
Session ses2 = HibernateUtil.openSession();
ses2.saveOrUpdate(recurso);
ses2.flush();
ses2.close();
logger.debug("After saving");
logger.debug("Removing groups from the session");
request.getSession().removeAttribute(ar.com.bgba.ecompany.wfsi.usuario.view.form.Constants.KEY_GRUPOS_PROPIO_USUARIO);
request.getSession().removeAttribute(ar.com.bgba.ecompany.wfsi.usuario.view.form.Constants.KEY_GRUPOS_OTROS_USUARIOS);
request.getSession().removeAttribute(ar.com.bgba.ecompany.wfsi.usuario.view.form.Constants.KEY_OWNERS);
request.getSession().removeAttribute(ar.com.bgba.ecompany.wfsi.usuario.view.form.Constants.KEY_RESPONSABLES);
request.getSession().removeAttribute(ar.com.bgba.ecompany.wfsi.usuario.view.form.Constants.KEY_GRUPOS_RESPONSABLE);
return StrutsUtils.getInstance().addParameter(mapping.findForward("ok"),
"uid", String.valueOf(recurso.getUid()));
}
the method does HibernateUtil.getSession, beginTransaction, and commitTransaction in the parent class
Full stack trace of any exception that occurs:
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.wfsi.admin.action.GuardarRecursoAction() [line 138]- Storing person in charge
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.wfsi.admin.action.GuardarRecursoAction() [line 153]- Saving Author.
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.wfsi.helper.SessionHelper() [line 87]- Obteniendo usuario
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.wfsi.helper.SessionHelper() [line 90]- Obteniendo usuario ahora => L0749001 - Lambolay, Marcos Santiago
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.wfsi.helper.SessionHelper() [line 94]- Obteniendo usuario despues => L0749001 - Lambolay, Marcos Santiago
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.wfsi.admin.action.GuardarRecursoAction() [line 155]- Author saved.
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.wfsi.admin.action.GuardarRecursoAction() [line 167]- Getting own user´s groups from session.
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.wfsi.admin.action.GuardarRecursoAction() [line 169]- Groups retrieved: null
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.wfsi.admin.action.GuardarRecursoAction() [line 198]- Getting other users´ groups from session.
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.wfsi.admin.action.GuardarRecursoAction() [line 200]- Groups retrieved: [AmbitoGrupoGD - uId: [0], Name: [0C0C1241ECompany], Description: [\\Fscorp1\Grupales\Sistemas\Cc1241\Ecompany]]
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.wfsi.admin.action.GuardarRecursoAction() [line 210]- Group to add: RecursoGrupoGDOtrosUsuarios - uId: [0], Name: [0C0C1241ECompany]
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.wfsi.admin.action.GuardarRecursoAction() [line 223]- Adding
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.wfsi.admin.action.GuardarRecursoAction() [line 247]- Before saving
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.commons.struts.AbstractTransactionAction() [line 133]- AbstractTransactionAction.comfirmarSession: antes de HibernateUtil.commitTransaction();
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.commons.HibernateUtil() [line 244]- HibernateUtil.commitTransaction: Comenzando el metodo
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.commons.HibernateUtil() [line 248]- HibernateUtil.commitTransaction: antes de tx.commit
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.transaction.JDBCTransaction() [line 59]- commit
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 2210]- flushing session
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 2403]- Flushing entities and processing referenced collections
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 2746]- Processing unreferenced collections
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 2760]- Scheduling collection removes/(re)creates/updates
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 2234]- Flushed: 0 insertions, 0 updates, 0 deletions to 0 objects
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 2239]- Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 2323]- executing flush
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 2790]- post flush
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 561]- transaction completion
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.transaction.JDBCTransaction() [line 103]- re-enabling autocommit
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.commons.HibernateUtil() [line 250]- HibernateUtil.commitTransaction: después de tx.commit
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.commons.HibernateUtil() [line 258]- HibernateUtil.commitTransaction: Finalizando el metodo
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.commons.struts.AbstractTransactionAction() [line 135]- AbstractTransactionAction.comfirmarSession: despues de HibernateUtil.commitTransaction();
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.commons.struts.AbstractTransactionAction() [line 142]- AbstractTransactionAction.comfirmarSession: antes de HibernateUtil.getSession();
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.commons.HibernateUtil() [line 189]- Inicio de HibernateUtil.getSession()
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.commons.HibernateUtil() [line 214]- Fin de HibernateUtil.getSession()
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.commons.struts.AbstractTransactionAction() [line 144]- AbstractTransactionAction.comfirmarSession: despues de HibernateUtil.getSession();
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.commons.struts.AbstractTransactionAction() [line 149]- AbstractTransactionAction.comfirmarSession: antes de HibernateUtil.closeSession();
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 549]- closing session
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 3294]- disconnecting session
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 561]- transaction completion
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.commons.struts.AbstractTransactionAction() [line 151]- AbstractTransactionAction.comfirmarSession: despues de HibernateUtil.closeSession();
DEBUG Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.commons.struts.AbstractTransactionAction() [line 153]- Hibernate Session flushed and closed AND disconnected!!!
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 531]- opened session
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$IdentifierValue() [line 312]- id unsaved-value: 0
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1358]- saveOrUpdate() unsaved instance
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 807]- saving [ar.com.bgba.ecompany.wfsi.Recurso#<null>]
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 2273]- executing insertions
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 497]- processing cascades for: ar.com.bgba.ecompany.wfsi.Recurso
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$4() [line 113]- cascading to saveOrUpdate()
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$IdentifierValue() [line 312]- id unsaved-value: 0
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1363]- saveOrUpdate() previously saved instance with id: 566
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1411]- updating [ar.com.bgba.ecompany.wfsi.Ayuda#566]
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$4() [line 113]- cascading to saveOrUpdate()
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$IdentifierValue() [line 312]- id unsaved-value: 0
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1363]- saveOrUpdate() previously saved instance with id: 567
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1411]- updating [ar.com.bgba.ecompany.wfsi.Ayuda#567]
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$4() [line 113]- cascading to saveOrUpdate()
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$IdentifierValue() [line 312]- id unsaved-value: 0
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1363]- saveOrUpdate() previously saved instance with id: 568
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1411]- updating [ar.com.bgba.ecompany.wfsi.Ayuda#568]
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 506]- done processing cascades for: ar.com.bgba.ecompany.wfsi.Recurso
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.persister.EntityPersister() [line 490]- Inserting entity: ar.com.bgba.ecompany.wfsi.Recurso (native id)
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.BatcherImpl() [line 196]- about to open: 8 open PreparedStatements, 0 open ResultSets
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.BatcherImpl() [line 237]- insert into Recurso (nombre, descripcion, disponible, autor, modificado_por, fechaAlta, fechaUltimaModificacion, ayuda_soporte, ayuda_aprobador, ayuda_usuario, nivelAprobadoresUsuarioPropioDesde, nivelAprobadoresUsuarioPropioHasta, nivelAprobadoresOtrosUsuariosDesde, nivelAprobadoresOtrosUsuariosHasta, grupo_responsable) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) select SCOPE_IDENTITY()
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.BatcherImpl() [line 241]- preparing statement
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.persister.EntityPersister() [line 388]- Dehydrating entity: [ar.com.bgba.ecompany.wfsi.Recurso#<null>]
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.type.NullableType() [line 46]- binding 'Desa 29-12-2005 11:40' to parameter: 1
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.type.NullableType() [line 46]- binding '' to parameter: 2
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.type.NullableType() [line 46]- binding 'true' to parameter: 3
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.type.NullableType() [line 46]- binding 'L0749001' to parameter: 4
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.type.NullableType() [line 41]- binding null to parameter: 5
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.type.NullableType() [line 46]- binding '29 December 2005 11:48:27' to parameter: 6
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.type.NullableType() [line 46]- binding '29 December 2005 11:48:27' to parameter: 7
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.type.NullableType() [line 46]- binding '566' to parameter: 8
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.type.NullableType() [line 46]- binding '567' to parameter: 9
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.type.NullableType() [line 46]- binding '568' to parameter: 10
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.type.NullableType() [line 46]- binding '1' to parameter: 11
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.type.NullableType() [line 46]- binding '2' to parameter: 12
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.type.NullableType() [line 46]- binding '1' to parameter: 13
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.type.NullableType() [line 46]- binding '2' to parameter: 14
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.type.NullableType() [line 46]- binding '0C0C1241ECompany' to parameter: 15
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.persister.AbstractEntityPersister() [line 1230]- Natively generated identity: 55
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 497]- processing cascades for: ar.com.bgba.ecompany.wfsi.Recurso
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 524]- cascading to collection: ar.com.bgba.ecompany.wfsi.Recurso.opciones
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$4() [line 113]- cascading to saveOrUpdate()
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$IdentifierValue() [line 312]- id unsaved-value: 0
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1363]- saveOrUpdate() previously saved instance with id: 74
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1411]- updating [ar.com.bgba.ecompany.wfsi.Opcion#74]
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1258]- collection dereferenced while transient [ar.com.bgba.ecompany.wfsi.Opcion.ambitos#74]
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 497]- processing cascades for: ar.com.bgba.ecompany.wfsi.Opcion
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$4() [line 113]- cascading to saveOrUpdate()
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$IdentifierValue() [line 312]- id unsaved-value: 0
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1363]- saveOrUpdate() previously saved instance with id: 569
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1411]- updating [ar.com.bgba.ecompany.wfsi.Ayuda#569]
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$4() [line 113]- cascading to saveOrUpdate()
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$IdentifierValue() [line 312]- id unsaved-value: 0
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1363]- saveOrUpdate() previously saved instance with id: 570
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1411]- updating [ar.com.bgba.ecompany.wfsi.Ayuda#570]
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$4() [line 113]- cascading to saveOrUpdate()
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$IdentifierValue() [line 312]- id unsaved-value: 0
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1363]- saveOrUpdate() previously saved instance with id: 571
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1411]- updating [ar.com.bgba.ecompany.wfsi.Ayuda#571]
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 524]- cascading to collection: ar.com.bgba.ecompany.wfsi.Opcion.gruposPropioUsuario
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 524]- cascading to collection: ar.com.bgba.ecompany.wfsi.Opcion.gruposOtrosUsuarios
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 506]- done processing cascades for: ar.com.bgba.ecompany.wfsi.Opcion
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 524]- cascading to collection: ar.com.bgba.ecompany.wfsi.Recurso.grupos
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 524]- cascading to collection: ar.com.bgba.ecompany.wfsi.Recurso.gruposPropioUsuario
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 524]- cascading to collection: ar.com.bgba.ecompany.wfsi.Recurso.gruposOtrosUsuarios
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$4() [line 113]- cascading to saveOrUpdate()
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$IdentifierValue() [line 312]- id unsaved-value: 0
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1358]- saveOrUpdate() unsaved instance
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 807]- saving [ar.com.bgba.ecompany.wfsi.RecursoGrupoGDOtrosUsuarios#<null>]
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 2273]- executing insertions
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.persister.EntityPersister() [line 490]- Inserting entity: ar.com.bgba.ecompany.wfsi.RecursoGrupoGDOtrosUsuarios (native id)
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.BatcherImpl() [line 196]- about to open: 9 open PreparedStatements, 0 open ResultSets
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.BatcherImpl() [line 237]- insert into asociacion_recurso_grupo_otros_usuarios (recurso_uid, grupo_uid) values (?, ?) select SCOPE_IDENTITY()
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.BatcherImpl() [line 241]- preparing statement
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.persister.EntityPersister() [line 388]- Dehydrating entity: [ar.com.bgba.ecompany.wfsi.RecursoGrupoGDOtrosUsuarios#<null>]
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.type.NullableType() [line 46]- binding '0' to parameter: 1
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.type.NullableType() [line 46]- binding '0C0C1241ECompany' to parameter: 2
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.persister.AbstractEntityPersister() [line 1230]- Natively generated identity: 28
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 506]- done processing cascades for: ar.com.bgba.ecompany.wfsi.Recurso
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 2210]- flushing session
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 497]- processing cascades for: ar.com.bgba.ecompany.wfsi.Recurso
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 524]- cascading to collection: ar.com.bgba.ecompany.wfsi.Recurso.opciones
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$4() [line 113]- cascading to saveOrUpdate()
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1343]- saveOrUpdate() persistent instance
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$4() [line 113]- cascading to saveOrUpdate()
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1343]- saveOrUpdate() persistent instance
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$4() [line 113]- cascading to saveOrUpdate()
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1343]- saveOrUpdate() persistent instance
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$4() [line 113]- cascading to saveOrUpdate()
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1343]- saveOrUpdate() persistent instance
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 524]- cascading to collection: ar.com.bgba.ecompany.wfsi.Recurso.grupos
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 524]- cascading to collection: ar.com.bgba.ecompany.wfsi.Recurso.gruposPropioUsuario
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 524]- cascading to collection: ar.com.bgba.ecompany.wfsi.Recurso.gruposOtrosUsuarios
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$4() [line 113]- cascading to saveOrUpdate()
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1343]- saveOrUpdate() persistent instance
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 506]- done processing cascades for: ar.com.bgba.ecompany.wfsi.Recurso
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 497]- processing cascades for: ar.com.bgba.ecompany.wfsi.Opcion
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$4() [line 113]- cascading to saveOrUpdate()
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1343]- saveOrUpdate() persistent instance
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$4() [line 113]- cascading to saveOrUpdate()
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1343]- saveOrUpdate() persistent instance
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades$4() [line 113]- cascading to saveOrUpdate()
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 1343]- saveOrUpdate() persistent instance
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 524]- cascading to collection: ar.com.bgba.ecompany.wfsi.Opcion.gruposPropioUsuario
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 524]- cascading to collection: ar.com.bgba.ecompany.wfsi.Opcion.gruposOtrosUsuarios
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.engine.Cascades() [line 506]- done processing cascades for: ar.com.bgba.ecompany.wfsi.Opcion
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 2403]- Flushing entities and processing referenced collections
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 2497]- Updating entity: [ar.com.bgba.ecompany.wfsi.Ayuda#566]
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 2497]- Updating entity: [ar.com.bgba.ecompany.wfsi.Ayuda#567]
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 2497]- Updating entity: [ar.com.bgba.ecompany.wfsi.Ayuda#568]
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.WrapVisitor() [line 76]- Wrapped collection in role: ar.com.bgba.ecompany.wfsi.Recurso.grupos
DEBUG Servlet.Engine.Transports : 0 net.sf.hibernate.impl.SessionImpl() [line 2850]- Collection found: [ar.com.bgba.ecompany.wfsi.Recurso.opciones#55], was: [ar.com.bgba.ecompany.wfsi.Recurso.opciones#54]
ERROR Servlet.Engine.Transports : 0 ar.com.bgba.ecompany.commons.struts.TransactionAction() [line 176]- You may not change the reference to a collection with cascade="all-delete-orphan"
net.sf.hibernate.HibernateException: You may not change the reference to a collection with cascade="all-delete-orphan"
at net.sf.hibernate.impl.SessionImpl.prepareCollectionForUpdate(SessionImpl.java:2919)
at net.sf.hibernate.impl.SessionImpl.updateReachableCollection(SessionImpl.java:2856)
at net.sf.hibernate.impl.FlushVisitor.processCollection(FlushVisitor.java:32)
at net.sf.hibernate.impl.AbstractVisitor.processValue(AbstractVisitor.java(Compiled Code))
at net.sf.hibernate.impl.AbstractVisitor.processValues(AbstractVisitor.java:36)
at net.sf.hibernate.impl.SessionImpl.flushEntity(SessionImpl.java:2556)
at net.sf.hibernate.impl.SessionImpl.flushEntities(SessionImpl.java:2422)
at net.sf.hibernate.impl.SessionImpl.flushEverything(SessionImpl.java:2224)
at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2203)
at ar.com.bgba.ecompany.wfsi.admin.action.GuardarRecursoAction.execute(GuardarRecursoAction.java:253)
at ar.com.bgba.ecompany.commons.struts.TransactionAction.execute(TransactionAction.java:148)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
at com.ibm.ws.webcontainer.servlet.ServicingServletState.service(StrictLifecycleServlet.java:333)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:1171)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:676)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:203)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:274)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:320)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:1171)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:676)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:203)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:125)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:300)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:120)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:250)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:652)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:448)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:936)
Name and version of the database you are using:
Websphere 5.1 with mssql server 2000