gpt4 book ai didi

java - Hibernate 从多对一关系中获取剩余对象

转载 作者:行者123 更新时间:2023-12-02 04:26:20 24 4
gpt4 key购买 nike

我有一个存储俱乐部和球队的数据库。一个俱乐部拥有多支球队,一支球队只属于一个俱乐部。是否可以使用查询不属于特定俱乐部的所有球队 hibernate 标准API?这是(剥离的)Club.java 和 Team.java

Club.java

@Entity
@Table(name = "clubs")
public class Club {
@Id
@GeneratedValue
@Column(name = "club_id")
private int id;
@Column(name = "name")
private String name;
@OneToMany(mappedBy = "club")
private java.util.Set<Team> teams;

[setters, constructors etc]
}

Team.java

@Entity
@Table(name = "team")
public class Team {
@Id
@GeneratedValue
@Column(name = "team_id")
private int id;
@Column(name = "name")
private String name;
@ManyToOne
@JoinColumn(name = "club_id")
private Club club;

[same here]
}

最佳答案

作为上述答案的一个细微变化,如果您已经有了 Club 对象,并且希望找到不属于该对象的所有球队,那么您应该能够执行以下操作:

Criteria criteria = session.createCriteria(Team.class);
criteria.add(Restrictions.ne("club", myClub));
List<Team> teams = criteria.list();

这避免了查询俱乐部名称,恕我直言,这是更干净的代码。

关于java - Hibernate 从多对一关系中获取剩余对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32105059/

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