我如何避免使用零零的自我引用列的N+
我有一个奇怪的桌子看起来像这样。
ID BIGINT NOT NULL AUTO INCREMENT
PARENT_ID BIGINT NOT NULL DEFAULT '0'
有两个问题。
- 没有FK。
- 联接列不是无效的,并将零用作未上限的状态。
我将@notfound
用于第一个问题。
class MyEntity {
@Id
private Long id;
@NotFound(action = IGNORE)
@JoinColumn(name = "PARENT_ID")
private MyEntity parent;
}
现在,当我尝试找到那些根元素时,每个元素应具有0
for parent.id.id
。
如何将0
排除parent
属性?
I have a weird table looks like this.
ID BIGINT NOT NULL AUTO INCREMENT
PARENT_ID BIGINT NOT NULL DEFAULT '0'
There are two problems.
- There is no FK.
- The join column is not NULLABLE and uses zero as an unmapped status.
I used @NotFound
for the first problem.
class MyEntity {
@Id
private Long id;
@NotFound(action = IGNORE)
@JoinColumn(name = "PARENT_ID")
private MyEntity parent;
}
Now when I try to find those root elements, which each should has 0
for parent.id
.
How can I exclude 0
for parent
attribute?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果找不到该实体,则Hibernate将分配NULL。因此,要找到根部元素,请尝试:
注意如果您使用
notfoundaction.ignore
始终会急切地获取协会。检查文档。Hibernate assigns null if it can't find the entity. So to find the root elements try :
Pay attention that if you use
NotFoundAction.IGNORE
the association is always fetched eagerly. Check the documentation.