Advertisement
totopopov

Composite Key mapped

Jul 24th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.80 KB | None | 0 0
  1. package models;
  2.  
  3. import javax.persistence.*;
  4. import java.io.Serializable;
  5.  
  6. /**
  7.  * Created by Todor Popov using Lenovo on 23.7.2017 г. at 20:23.
  8.  */
  9.  
  10. @Entity
  11. @IdClass(value = PlayerStatistic.PlayerStatisticId.class)
  12. @Table(name = "player_statistics")
  13. public class PlayerStatistic {
  14.  
  15.     private Long gameId;
  16.     private Long playerId;
  17.  
  18.  
  19.     private Game game;
  20.     private Player player;
  21.  
  22.     private Integer scoredGoals;
  23.     private Integer playerAssists;
  24.     private Integer playedMinutes;
  25.  
  26.     @Id
  27.     @Column(name = "game_id")
  28.     public Long getGameId() {
  29.         return gameId;
  30.     }
  31.  
  32.     public void setGameId(Long gameId) {
  33.         this.gameId = gameId;
  34.     }
  35.  
  36.     @Id
  37.     @Column(name = "player_id")
  38.     public Long getPlayerId() {
  39.         return playerId;
  40.     }
  41.  
  42.  
  43.     public void setPlayerId(Long playerId) {
  44.         this.playerId = playerId;
  45.     }
  46.  
  47.     @MapsId("game_id")
  48.     @ManyToOne
  49.     @JoinColumn(name = "game_id", referencedColumnName = "id")
  50.     public Game getGame() {
  51.         return game;
  52.     }
  53.  
  54.     public void setGame(Game game) {
  55.         this.game = game;
  56.     }
  57.  
  58.     @MapsId("player_id")
  59.     @ManyToOne
  60.     @JoinColumn(name = "player_id", referencedColumnName = "id")
  61.     public Player getPlayer() {
  62.         return player;
  63.     }
  64.  
  65.     public void setPlayer(Player player) {
  66.         this.player = player;
  67.     }
  68.  
  69.     @Column(name = "scored_goals")
  70.     public Integer getScoredGoals() {
  71.         return scoredGoals;
  72.     }
  73.  
  74.     public void setScoredGoals(Integer scoredGoals) {
  75.         this.scoredGoals = scoredGoals;
  76.     }
  77.  
  78.     @Column(name = "player_assists")
  79.     public Integer getPlayerAssists() {
  80.         return playerAssists;
  81.     }
  82.  
  83.     public void setPlayerAssists(Integer playerAssists) {
  84.         this.playerAssists = playerAssists;
  85.     }
  86.  
  87.     @Column(name = "played_minutes")
  88.     public Integer getPlayedMinutes() {
  89.         return playedMinutes;
  90.     }
  91.  
  92.     public void setPlayedMinutes(Integer playedMinutes) {
  93.         this.playedMinutes = playedMinutes;
  94.     }
  95.  
  96.  
  97.  
  98.     static class PlayerStatisticId implements Serializable {
  99.         private Long gameId;        //same type as the Id in the GAME class
  100.         private Long playerId;      //same type as the Id in the GAME class
  101.  
  102.         public PlayerStatisticId() {
  103.         }
  104.  
  105.         public PlayerStatisticId(Long gameId, Long playerId) {
  106.             this.gameId = gameId;
  107.             this.playerId = playerId;
  108.         }
  109.  
  110.         public Long getGameId() {
  111.             return gameId;
  112.         }
  113.  
  114.         public void setGameId(Long gameId) {
  115.             this.gameId = gameId;
  116.         }
  117.  
  118.         public Long getPlayerId() {
  119.             return playerId;
  120.         }
  121.  
  122.         public void setPlayerId(Long playerId) {
  123.             this.playerId = playerId;
  124.         }
  125.     }
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement