gpt4 book ai didi

java - Hibernate 中空引用的查询处理

转载 作者:行者123 更新时间:2023-12-01 19:10:57 49 4
gpt4 key购买 nike

我正在使用 hibernate,并且我有一个像

的实体
@Entity
@Table(name = "MyEntity")
Class MyEntity {
@Id
@GeneratedValue
private long id;

@Column(name = "NAME")
private String name;

//some more attributes here

@OneToOne
@JoinColumn(name = "PARENT_ID")
MyEntity parent;

}

我的数据库中有一条记录

id   |  name | parent_id 

125 | n1 | null

当我尝试使用 hibernate 查询获取此记录时

Select e.id,e.name,e.parent.name from MyEntity e where e.id =125

这个查询返回零记录。因为父级在这里为空,所以有什么方法可以处理这种情况。感谢 advc。

最佳答案

在您的情况下,Hibernate 隐式使用内部联接,当其中一侧为 null 时,该内部联接不会返回任何内容。

您可以指示 Hibernate 使用左外连接,如下所示:

select e.id, e.name, p.name from MyEntity e left join e.parent p where e.id = 125

关于java - Hibernate 中空引用的查询处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8489111/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com