diff --git a/src/main/java/com/faforever/api/data/domain/Game.java b/src/main/java/com/faforever/api/data/domain/Game.java index 309c00448..a27342e5c 100644 --- a/src/main/java/com/faforever/api/data/domain/Game.java +++ b/src/main/java/com/faforever/api/data/domain/Game.java @@ -5,6 +5,7 @@ import com.yahoo.elide.annotation.Include; import com.yahoo.elide.annotation.UpdatePermission; import lombok.Setter; +import org.hibernate.annotations.BatchSize; import org.hibernate.annotations.Immutable; import org.jetbrains.annotations.Nullable; @@ -19,6 +20,7 @@ import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.OneToOne; +import javax.persistence.PrimaryKeyJoinColumn; import javax.persistence.Table; import javax.persistence.Transient; import java.time.OffsetDateTime; @@ -114,8 +116,10 @@ public List getReviews() { return reviews; } - @OneToOne(mappedBy = "game") + @OneToOne(fetch = FetchType.LAZY) + @PrimaryKeyJoinColumn @UpdatePermission(expression = "Prefab.Role.All") + @BatchSize(size = 1000) public GameReviewsSummary getReviewsSummary() { return reviewsSummary; } diff --git a/src/main/java/com/faforever/api/data/domain/GameReviewsSummary.java b/src/main/java/com/faforever/api/data/domain/GameReviewsSummary.java index 88ef8e66e..b522e9fdc 100644 --- a/src/main/java/com/faforever/api/data/domain/GameReviewsSummary.java +++ b/src/main/java/com/faforever/api/data/domain/GameReviewsSummary.java @@ -7,9 +7,7 @@ import javax.persistence.Column; import javax.persistence.Entity; -import javax.persistence.FetchType; import javax.persistence.Id; -import javax.persistence.JoinColumn; import javax.persistence.OneToOne; import javax.persistence.Table; @@ -58,8 +56,7 @@ public float getLowerBound() { return lowerBound; } - @OneToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "game_id", insertable = false, updatable = false) + @OneToOne(mappedBy = "reviewsSummary") @BatchSize(size = 1000) public Game getGame() { return game;