gpt4 book ai didi

java - Hibernate 内连接 ManyToOne

转载 作者:行者123 更新时间:2023-11-29 09:36:09 27 4
gpt4 key购买 nike

例如有两个类(class)

@Entity(name = "member")
public class M_Member{
@Id
@Column(name = "id")
private int id;

@Column(name = "n")
private String n;
}

@Entity(name = "task")
public class M_Task{
@Id
@Column(name = "id")
private int id;

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

@Column(name = "id_member")
private int id_member;

@ManyToOne
@JoinColumn(name="member")
private M_Member member;
}

运行 HQL 时:

FROM task t JOIN t.member WHERE t.id=1

返回空列表。数据库中的内容

task
id, n, id_member
1, "A", 1
2, "B", 1
3, "C", 2

member
id, n
1, "MA"
2, "MB"

如何返回包含 HQL 想要执行的操作的正确列表?

提前致谢。

最佳答案

如果您希望在获取M_Task始终获取其M_Member,则可以简单地使用FetchType.EAGER code> 在您的 @ManyToOne 注释中。因此,您可以执行此查询:

FROM M_TASK t

但是如果您不想默认启用FetchType.EAGER,则可以通过以下方式使用JOIN FETCH:

FROM M_TASK t JOIN FETCH t.member

关于java - Hibernate 内连接 ManyToOne,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57565529/

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