Skip to content

Commit

Permalink
Use ManyToMany
Browse files Browse the repository at this point in the history
  • Loading branch information
IDragonfire committed May 14, 2017
1 parent a3370b2 commit 216e5d1
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 61 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,21 @@
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;

@Entity
@Include(rootLevel = true, type = "HardwareInformation")
@Table(name = "uniqueid")
@Setter
// TODO: We need this interface, otherwise an exception occure ...
public class HardwareInformation implements Serializable {
public class HardwareInformation {

private Integer id;
private int legacyId;
private String hash;
private String uuid;
private String memSerialNumber;
Expand All @@ -33,15 +33,16 @@ public class HardwareInformation implements Serializable {
private String smbiosbiosVersion;
private String serialNumber;
private String volumeSerialNumber;
private List<HardwareProfile> hardwareProfiles;
private List<Player> players;


@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Integer getId() {
return id;
public Integer getLegacyId() {
return legacyId;
}

@Id
@Column(name = "hash")
@Size(max = 32)
@NotNull
Expand Down Expand Up @@ -103,9 +104,11 @@ public String getVolumeSerialNumber() {
return volumeSerialNumber;
}

// TODO: add cascading and orphans removal or disallow delete
@OneToMany(mappedBy = "hardwareInformation")
public List<HardwareProfile> getHardwareProfiles() {
return hardwareProfiles;
@ManyToMany
@JoinTable(name = "unique_id_users",
joinColumns = @JoinColumn(name = "uniqueid_hash", referencedColumnName = "hash"),
inverseJoinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"))
public List<Player> getPlayers() {
return this.players;
}
}
42 changes: 0 additions & 42 deletions src/main/java/com/faforever/api/data/domain/HardwareProfile.java

This file was deleted.

11 changes: 5 additions & 6 deletions src/main/java/com/faforever/api/data/domain/Player.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
Expand All @@ -25,7 +25,7 @@ public class Player extends Login {
private Ladder1v1Rating ladder1v1Rating;
private GlobalRating globalRating;
private List<ClanMembership> clanMemberships;
private HardwareProfile hardwareProfile;
private List<HardwareInformation> hardwareInformations;

@OneToOne(mappedBy = "player", fetch = FetchType.LAZY)
public Ladder1v1Rating getLadder1v1Rating() {
Expand All @@ -52,10 +52,9 @@ public Clan getClan() {
return null;
}

@OneToOne
@JoinColumn(name = "id")
private HardwareProfile getHardwareProfile() {
return this.hardwareProfile;
@ManyToMany(mappedBy = "players")
public List<HardwareInformation> getHardwareInformations() {
return this.hardwareInformations;
}

@Override
Expand Down

0 comments on commit 216e5d1

Please sign in to comment.