Hi everyone! Description: The problem is that when i debug this webapp, inside the servlet i can see the elements inside de modelo.Telefonos collection, but the jsp can't. In the jsp, the collection only have null's, but the correct number of them. (if the collection has 3 elements, there are 3 nulls inside it) :S The database also contains those elements. Thanks in advance
Nicolás Pace Struts version: 2.0.6 Hibernate version: 3.1.3 or 3.2 Mapping documents: ---------Modelo.hbm.xml--------------- <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="modelos"> <class name="Modelo"> <id name="id"> <generator class="native"></generator> </id> <property name="apellido"></property> <property name="nombre"></property> <property name="fechaNacimiento"></property> <property name="foto"></property> <property name="turno"></property> <many-to-one name="escuela" cascade="all" ></many-to-one> <set name="domicilios" cascade="all" table="modelo_domicilio"> <key column="model_id"/> <many-to-many column="dom_id" class="modelos.Domicilio" /> </set> <set name="telefonos" cascade="all" table="modelo_telefono" fetch="join" lazy="false"> <key column="model_id"/> <many-to-many column="telefono_id" class="Telefono"/> </set> <set name="caracteristicas" cascade="all" table="modelo_caracteristica"> <key column="model_id"/> <many-to-many column="carac_id" class="modelos.CaracteristicaFisica"/> </set> <set name="habilidades" cascade="all" table="modelo_habilidad"> <key column="model_id"/> <many-to-many column="habilidad_id" class="modelos.Habilidad"/> </set> <set name="observaciones" cascade="all" table="modelo_observacion"> <key column="model_id"/> <many-to-many column="observacion_id" class="modelos.Observacion"/> </set> <set name="restricciones" cascade="all" table="modelo_restriccion"> <key column="model_id"/> <many-to-many column="restricciones_id" class="modelos.Restriccion"/> </set> <set name="horariosDisponibles" cascade="all" table="modelo_horarioDisponible"> <key column="model_id"/> <many-to-many column="franja_id" class="modelos.FranjaHoraria"/> </set> <set name="grupoFamiliar" cascade="all" table="modelo_grupoFamiliar"> <key column="grupoFamiliar_id"/> <many-to-many column="model_id" class="modelos.Modelo"/> </set> </class> </hibernate-mapping> ------------------- -----------Telefono.hbm.xml---------------- <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="modelos"> <class name="Telefono"> <id name="id"><generator class="native"></generator></id> <property name="numero"></property> </class> </hibernate-mapping> ------------------------------------ Code between sessionFactory.openSession() and session.close(): Using OpenSessionInView pattern with ServletFilter suggested here ModeloAction.java public class ModeloAction extends ActionSupport { private Modelo modelo; ... execute() { modelo = (Modelo) s.get(Modelo.class, id); modelo.getTelefonos().size(); modelo.getDomicilios().size(); modelo.getCaracteristicas().size(); modelo.getGrupoFamiliar().size(); modelo.getHabilidades().size(); modelo.getHorariosDisponibles().size(); modelo.getObservaciones().size(); modelo.getRestricciones().size(); } .... } Modelo.jsp: ... <s:iterator value="modelo.telefonos" id="tel"> <s:property value="tel==null"/> </s:iterator> ... Full stack trace of any exception that occurs: Name and version of the database you are using:mysql The generated SQL (show_sql=true): Hibernate: select modelo0_.id as id16_1_, modelo0_.apellido as apellido16_1_, modelo0_.nombre as nombre16_1_, modelo0_.fechaNacimiento as fechaNac4_16_1_, modelo0_.foto as foto16_1_, modelo0_.turno as turno16_1_, modelo0_.escuela as escuela16_1_, telefonos1_.model_id as model1_3_, telefono2_.id as telefono2_3_, telefono2_.id as id9_0_, telefono2_.numero as numero9_0_ from Modelo modelo0_ left outer join modelo_telefono telefonos1_ on modelo0_.id=telefonos1_.model_id left outer join Telefono telefono2_ on telefonos1_.telefono_id=telefono2_.id where modelo0_.id=? Hibernate: select domicilios0_.model_id as model1_1_, domicilios0_.dom_id as dom2_1_, domicilio1_.dom_id as dom1_3_0_, domicilio1_.calle as calle3_0_, domicilio1_.numero as numero3_0_, domicilio1_.departamento as departam4_3_0_, domicilio1_.ciudad as ciudad3_0_ from modelo_domicilio domicilios0_ left outer join Domicilio domicilio1_ on domicilios0_.dom_id=domicilio1_.dom_id where domicilios0_.model_id=? Hibernate: select caracteris0_.model_id as model1_1_, caracteris0_.carac_id as carac2_1_, caracteris1_.carac_id as carac1_4_0_, caracteris1_.nombre as nombre4_0_ from modelo_caracteristica caracteris0_ left outer join CaracteristicaFisica caracteris1_ on caracteris0_.carac_id=caracteris1_.carac_id where caracteris0_.model_id=? Hibernate: select grupofamil0_.grupoFamiliar_id as grupoFam1_1_, grupofamil0_.model_id as model2_1_, modelo1_.id as id16_0_, modelo1_.apellido as apellido16_0_, modelo1_.nombre as nombre16_0_, modelo1_.fechaNacimiento as fechaNac4_16_0_, modelo1_.foto as foto16_0_, modelo1_.turno as turno16_0_, modelo1_.escuela as escuela16_0_ from modelo_grupoFamiliar grupofamil0_ left outer join Modelo modelo1_ on grupofamil0_.model_id=modelo1_.id where grupofamil0_.grupoFamiliar_id=? Hibernate: select habilidade0_.model_id as model1_1_, habilidade0_.habilidad_id as habilidad2_1_, habilidad1_.id as id7_0_, habilidad1_.nombre as nombre7_0_ from modelo_habilidad habilidade0_ left outer join Habilidad habilidad1_ on habilidade0_.habilidad_id=habilidad1_.id where habilidade0_.model_id=? Hibernate: select horariosdi0_.model_id as model1_1_, horariosdi0_.franja_id as franja2_1_, franjahora1_.id as id6_0_, franjahora1_.dia as dia6_0_, franjahora1_.horaInicio as horaInicio6_0_, franjahora1_.horaFin as horaFin6_0_ from modelo_horarioDisponible horariosdi0_ left outer join FranjaHoraria franjahora1_ on horariosdi0_.franja_id=franjahora1_.id where horariosdi0_.model_id=? Hibernate: select observacio0_.model_id as model1_1_, observacio0_.observacion_id as observac2_1_, observacio1_.id as id8_0_, observacio1_.nombre as nombre8_0_ from modelo_observacion observacio0_ left outer join Observacion observacio1_ on observacio0_.observacion_id=observacio1_.id where observacio0_.model_id=? Hibernate: select restriccio0_.model_id as model1_1_, restriccio0_.restricciones_id as restricc2_1_, restriccio1_.id as id5_0_, restriccio1_.nombre as nombre5_0_ from modelo_restriccion restriccio0_ left outer join Restriccion restriccio1_ on restriccio0_.restricciones_id=restriccio1_.id where restriccio0_.model_id=?