Hibernate uno a muchos unidireccional lista de asignación
-
29-09-2019 - |
Pregunta
Me tiene relación one-to-many
entre padre e hijo objetos Java. Los usos de objetos padres java.util.List
que almacena múltiples objetos secundarios. El problema que estoy experimentando es cuando se actualiza el objeto padre después de haber añadido uno o más objeto hijo (s) a la List
en la matriz. Estoy utilizando el método saveOrUpdate
para guardar o actualizar el padre. Funciona bien si estoy ahorrando una nueva instancia del padre, pero después de guardarlo, intento agregar objeto hijo (s) en el List
padres y luego tratar de saveOrUpdate
llamada en el objeto padre, pero no hay entradas de objeto secundario ( s) get persistido hasta la base de datos. Yo sólo quisiera algunos consejos. Nota: : No estoy usando anotaciones.
un fragmento de la Parent.hbm.xml , que define el uno-a-muchos relación unidireccional:
<list name="children" cascade="all">
<key column="parent_id"/>
<index column="idx"/>
<one-to-many class="Child"/>
</list>
Solución
Me acaba de intentar reproducir este ejemplo y funcionó bien para mí.
Aquí están mis asignaciones:
<hibernate-mapping package="com.example.domain">
<class name="com.example.domain.Parent" table="PARENT">
<id name="id" column="parent_id" access="field">
<generator class="increment" />
</id>
<property name="name" column="parent_name" access="field" />
<list name="children" access="field" cascade="all">
<key column="parent_id" not-null="true" />
<index column="idx" />
<one-to-many class="Child" />
</list>
</class>
</hibernate-mapping>
<hibernate-mapping package="com.example.domain">
<class name="com.example.domain.Child" table="CHILD">
<id name="id" column="child_id" access="field">
<generator class="increment" />
</id>
<property name="name" column="child_name" access="field" />
</class>
</hibernate-mapping>
He añadido not-null="true"
a la asignación de los padres.
¿Se intenta establecer show_sql
en su configuración de hibernación para ver el SQL generado?