Tengo un componente asignado utilizando Hibernate. Si todos los campos del componente en la base de datos son nulos, el componente en sí mismo se establece en nulo por hibernación. Este es el comportamiento esperado y también lo que necesito.Hibernar colección vacía en el componente
El problema que tengo, es que cuando agrego una bolsa a ese componente, la bolsa se inicializa en una lista vacía. Esto significa que el componente tiene un valor no nulo ... lo que da como resultado la creación del componente.
alguna idea de cómo solucionar este problema?
<class name="foo.bar.Entity" table="Entity">
<id name="id" column="id">
<generator class="native" />
</id>
<property name="departure" column="departure_time" />
<property name="arrival" column="arrival_time" />
<component name="statistics">
<bag name="linkStatistics" lazy="false" cascade="all" >
<key column="entity_id" not-null="true" />
<one-to-many class="foo.bar.LinkStatistics" />
</bag>
<property name="loggedTime" column="logged_time" />
...
</component>
Una criterios con Restirctions.isNull ("estadísticas") no devuelven los valores esperados.
Agregue información sobre el contexto: ¿Quién establece el componente como nulo? ¿Cuál es el componente del que estás hablando? ¿Cuál es el contenedor? –
Aaron, Hibernate deja la propiedad del componente (estadísticas, en la clase Entity) en nulo. –
Parece ser un problema bastante viejo, pero lo tengo también y no pude encontrar ninguna solución. ¿Tuviste un poco de suerte mientras tanto? – Martin