我如何告诉Hibernate在@OneToOne自联接中忽略“ 0”

Mintri:

我正在编写一个使用旧数据库的新应用程序。
我有一个名为“分数”的表,如下所示:

+-----+------------+--------------------------+
| id  | name       | sub_score                |
+-----+------------+--------------------------+
| 205 | High Score |                      206 |
| 206 | Mid Score  |                      207 |
| 207 | Low Score  |                        0 |
+-----+------------+--------------------------+

我的模型实体是:

@Entity
@Table(name = "score")
public class ScoreGroups implements Serializable {

    private int id;
    private String name;
    @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER, optional =   true)
    @JoinColumn(name = "haupt_kondition_id")
    @NotFound(action = NotFoundAction.IGNORE)
    private ScoreGroups sub_Score;
}

因此,我尝试使用sub_score做一个自联接映射id,但是由于遗留数据库反设计的缘故,如果Score没有sub_score,则会写入一个0,而不是null。通过Hibernate加载数据会产生:

org.hibernate.ObjectNotFoundException: No row with the given identifier exists: 

因为Hibernate仅忽略空值,所以@NotFound不忽略0。

如果Hibernate在“ sub_score”中找到0,如何告诉Hibernate忽略内部Object映射?

雷米乌斯:

试试这个

@JoinColumn(name = "haupt_kondition_id")
@Where(clause = "sub_score <> 0")

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

%0|%0 如何工作?

我希望输出像[[0,0,0,0,],[0,1,0,0],[0,2,0,0],[0,3,0,0]]

当我运行我的代码时,它会执行 0 0 0 0 0 0 0 0 0?

我如何不能忽略0(零)作为成绩?

$ {0 ## * /}和$ {0%/ *}如何工作?

如何用“ / 0”替换“ \ 0”?

JavaScript中的{}-0 VS({}-0)

sh中的“ $ {0%/ *}”和“ $ {0 ## * /}”

Python中'\ 0 \ 0'的含义?

“ flex:0 0 33%”中的“ 0 0”代表什么?

我的方法总是返回 0 忽略条件

gets()是否忽略'\ 0'?

我如何告诉邮递员扫描大于 0 的数字的响应?

创建 postDict 后如何从 Firebase 快照中检索和使用数据;我得到“0\0\0”

如何忽略False,因此不算作0

在NumPy中忽略除以0的警告

hw:0,0中的0和0是什么意思?我该如何获得这些价值?

为什么在Python中“ 0,0 ==(0,0)”等于“(0,False)”?

如何对0-0-0之类的树节点进行排序

如何使用a [0]-a [0] a [1]-a [0] a [1] a [2]输出数组

如何找出哪个磁盘是“ SD 0:4:0:0”

告诉我什么是“卷曲:(56)SSL读取:错误:00000000:lib(0):功能(0):原因(0),错误errno 73”?

为什么(a * b!= 0)比Java中的(a!= 0 && b!= 0)快?

显示数据表中0项的0到0

如何修复 GridPane 上的标签堆叠在索引 (0,0) 上?它似乎忽略了我对该函数的输入

如何使sympy确认0/0是除以零

如何从(0,0)坐标移动面板

Scala试图告诉我什么,我该如何解决?[必填:java.util.List [?0],其中类型为?0]

用于生成 [((0,0),0), ((0,1),0), ((1,0),0), ((1,1),0)] 的代码实际上给出了 [0 , 0, 0, 1, 1, 0, 1, 1],如何解决?