gpt4 book ai didi

java - Hibernate HQL查询根据childID获取父+子

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:20:59 24 4
gpt4 key购买 nike

我有一个具有多个@onetomany 关系的对象,我需要查询父对象的属性以及子对象的属性。我似乎无法完成它。

例如,我需要一个查询来查看父对象,其中父对象的名字是“John”并且 child 最喜欢的颜色是蓝色。希望这是有道理的。复杂化的原因似乎是 child 在列表中,而不是在@onetoone 关系中。

PARENT:
@Entity
@Table(name="Parent")
public class Parent {
@Id
@Column(name="ID")
@GeneratedValue(strategy=GenerationType.AUTO, generator="parent_gen")
@SequenceGenerator(name="parent_gen", sequenceName="PARENT_SEQUENCE")
private int parentID;

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

@OneToMany(cascade=CascadeType.ALL)
@OrderBy("name ASC")
@JoinTable(name = "parent_to_child")
private List<Child> childList;
// and so forth

Child
@Entity
@Table(name="Child")
public class Child{
@Id
@Column(name="ID")
@GeneratedValue(strategy=GenerationType.AUTO, generator="child_gen")
@SequenceGenerator(name="child_gen", sequenceName="CHILD_SEQUENCE")
private int childID;

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

// and so forth

最佳答案

select p from Parent p join p.childList c
where p.name = 'John' and c.favoriteColor = 'blue'

这将返回 List<Parent> .

您可以在 hql reference 中查看所有这些内容

关于java - Hibernate HQL查询根据childID获取父+子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11024125/

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