【发布时间】:2020-05-09 08:11:39
【问题描述】:
我有两张牌桌 Player 和 Match。我需要 Player 和 Match 之间的 OnetoMany 关系,这样我得到的 JSON 输出是这样的:-
{
id : 1,
name : "Peter",
nationality: "Indian",
matches: [
{
id : 1,
location: "Mohali"
TournamentName: "FA Cup"
},
{
id : 2,
location: "Kolkata"
TournamentName: "ISL league"
}
]
}
您能否建议如何定义注释并获得上述结果?我有这样写的代码:-
@Entity
public class Match {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="match_id")
private Integer mId;
private String seriesName;
private String location;
@ManyToOne
private Player player;
播放器是这样的:-
@Entity
public class Player {
@Id
@GeneratedValue
@Column(name="player_id")
private Integer pId;
private String pName;
private String cricketTeam;
@OneToMany(mappedBy = "player" ,cascade = CascadeType.ALL)
private List<Match> matches;
除此之外,我还需要在结果 JSON 中有一个附加属性:-
totalGoals: 8
此属性将计算球员在每场比赛中的总进球数,因此必须有一个包含以下列的新表:- "player_id" 、 "match_id" 和 "totalGoal"
如果你能提供一个好的方法,那将非常有帮助
【问题讨论】:
标签: java hibernate spring-boot spring-data-jpa mapping