You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

89 lines
2.3 KiB

package app.data.entity;
import javax.persistence.*;
import java.util.Collection;
import java.util.Objects;
@Entity
@Table(name = "player", schema = "public", catalog = "chessleague")
public class Player {
private Integer id;
private String name;
private String nickname;
private Collection<Match> matchesAsPlayer1;
private Collection<Match> matchesAsPlayer2;
private PlayerInfo playerInfo;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Basic
@Column(name = "name", nullable = false, length = -1)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Basic
@Column(name = "nickname", nullable = false, length = -1)
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Player that = (Player) o;
return Objects.equals(id, that.id) && Objects.equals(name, that.name) && Objects.equals(nickname, that.nickname);
}
@Override
public int hashCode() {
return Objects.hash(id, name, nickname);
}
@OneToMany(mappedBy = "player1", cascade = CascadeType.DETACH)
public Collection<Match> getMatchesAsPlayer1() {
return matchesAsPlayer1;
}
public void setMatchesAsPlayer1(Collection<Match> matchesAsPlayer1) {
this.matchesAsPlayer1 = matchesAsPlayer1;
}
@OneToMany(mappedBy = "player2", cascade = CascadeType.DETACH)
public Collection<Match> getMatchesAsPlayer2() {
return matchesAsPlayer2;
}
public void setMatchesAsPlayer2(Collection<Match> matchesAsPlayer2) {
this.matchesAsPlayer2 = matchesAsPlayer2;
}
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "info", referencedColumnName = "id")
public PlayerInfo getPlayerInfo() {
return playerInfo;
}
public void setPlayerInfo(PlayerInfo playerInfo) {
this.playerInfo = playerInfo;
}
}