UserCommons.java
package edu.ucsb.cs156.happiercows.entities;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.*;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.ManyToOne;
import javax.persistence.MapsId;
@Data
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Builder
@Entity(name = "user_commons")
public class UserCommons {
@EmbeddedId
@JsonIgnore
@Builder.Default
private UserCommonsKey id = new UserCommonsKey();
@MapsId("userId")
@ManyToOne
@JsonIgnore
private User user;
@MapsId("commonsId")
@ManyToOne
@JsonIgnore
private Commons commons;
private String username;
private double totalWealth;
private int numOfCows;
private double cowHealth;
private int cowsBought;
private int cowsSold;
private int cowDeaths;
// userID and commonsId are used by the frontend
@JsonInclude
public long getUserId() {
return user.getId();
}
@JsonInclude
public long getCommonsId() {
return commons.getId();
}
public void setId(UserCommonsKey id) {
this.id = id;
}
public UserCommonsKey getId() {
return this.id;
}
}