package devopsdistilled.operp.server.data.entity.stock; import java.util.List; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.persistence.UniqueConstraint; import devopsdistilled.operp.server.data.entity.Entiti; import devopsdistilled.operp.server.data.entity.items.Item; @Entity @Table(uniqueConstraints = @UniqueConstraint(columnNames = { "itemId", "warehouseId" })) public class Stock extends Entiti<Long> { private static final long serialVersionUID = -7397395555201558401L; @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long stockId; private Long quantity; @ManyToOne @JoinColumn(name = "itemId") private Item item; @ManyToOne @JoinColumn(name = "warehouseId") private Warehouse warehouse; @OneToMany(mappedBy = "stock") private List<StockKeeper> stockKeepers; public Long getStockId() { return stockId; } public void setStockId(Long stockId) { this.stockId = stockId; } public Long getQuantity() { return quantity; } public void setQuantity(Long quantity) { this.quantity = quantity; } public Item getItem() { return item; } public void setItem(Item item) { this.item = item; } public Warehouse getWarehouse() { return warehouse; } public void setWarehouse(Warehouse warehouse) { this.warehouse = warehouse; } public List<StockKeeper> getStockKeepers() { return stockKeepers; } public void setStockKeepers(List<StockKeeper> stockKeepers) { this.stockKeepers = stockKeepers; } @Override public Long id() { return getStockId(); } @Override public String toString() { return new String(getItem().getItemName() + " In " + getWarehouse().getWarehouseName()); } }