Jur*_*ert 11 null components hibernate bag
我有一个使用Hibernate映射的组件.如果数据库中组件中的所有字段都为null,则hibernate将组件本身设置为null.这是预期的行为,也是我需要的.
我遇到的问题是,当我向该组件添加一个包时,该包被初始化为一个空列表.这意味着组件具有非空值...导致组件被创建.
知道如何解决这个问题吗?
<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>
Run Code Online (Sandbox Code Playgroud)
Restirctions.isNull("statistics")的条件确实返回了预期值.
我无法验证这一点,但这里有一个想法:
public void setListProperty(List list) {
if (list == null || list.size() == 0) {
this.listProperty = null;
} else {
this.listProperty = list;
}
}
Run Code Online (Sandbox Code Playgroud)
显然不理想,但可能是您的解决方法......
| 归档时间: |
|
| 查看次数: |
2600 次 |
| 最近记录: |