gpt4 book ai didi

java - 查询具有一对多关系的两个实体

转载 作者:行者123 更新时间:2023-11-30 04:54:38 25 4
gpt4 key购买 nike

我是持久性世界的新手:)可能我的问题很愚蠢,可能我的方法不正确,但这就是我想问一些专家的问题。所以我的问题是为与另一个实体相关的实体编写查询。

@Entity
public class Team {
String teameName,
int teamId,

@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name = "team_id", referencedColumnName = "teamId")
private Set<Player> players;
/**
more code for getters and setter for all fields
*/
}

@Entity
public class Player {
String PlayerName,
String address
/**
*more code for getters and setter for everything
*/
}

因此多个玩家可以属于一个团队,但每个玩家必须拥有一个唯一的团队,这是通过将 teamId 作为玩家的外键来完成的。据我认为这应该是正确的。但现在问题来了。现在我想做一个查询来查找所有具有“playerName = X”和“teamId = Y”的玩家我不知道如何编写这样的查询。

请问有人能给我建议吗?

提前致谢。

吉娜

最佳答案

您想要read about HQL ,Hibernate 查询语言。这有点像 SQL。

基本上,您定义 hql 字符串,然后执行查询。类似的东西

String hql = "select * from Player p where p.PlayerName = :name and team = :team";
Query query = session.createQuery(hql);
query.setParameter("name", "Joe");
query.setParameter("team", team);
List list = query.list();

关于java - 查询具有一对多关系的两个实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8927770/

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