io.zenwave360.sdk.jpa2jdl.Product Maven / Gradle / Ivy
package io.zenwave360.sdk.jpa2jdl;
import java.io.Serializable;
import java.math.BigDecimal;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotNull;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
/**
* A Product.
*/
@Entity
@Table(name = "product")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Product implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
@SequenceGenerator(name = "sequenceGenerator")
@Column(name = "id")
private Long id;
@NotNull
@Column(name = "title", nullable = false)
private String title;
@NotNull
@DecimalMin(value = "0")
@Column(name = "price", precision = 21, scale = 2, nullable = false)
private BigDecimal price;
@Lob
@Column(name = "image")
private byte[] image;
@Column(name = "image_content_type")
private String imageContentType;
// jhipster-needle-entity-add-field - JHipster will add fields here
public Long getId() {
return this.id;
}
public Product id(Long id) {
this.setId(id);
return this;
}
public void setId(Long id) {
this.id = id;
}
public String getTitle() {
return this.title;
}
public Product title(String title) {
this.setTitle(title);
return this;
}
public void setTitle(String title) {
this.title = title;
}
public BigDecimal getPrice() {
return this.price;
}
public Product price(BigDecimal price) {
this.setPrice(price);
return this;
}
public void setPrice(BigDecimal price) {
this.price = price;
}
public byte[] getImage() {
return this.image;
}
public Product image(byte[] image) {
this.setImage(image);
return this;
}
public void setImage(byte[] image) {
this.image = image;
}
public String getImageContentType() {
return this.imageContentType;
}
public Product imageContentType(String imageContentType) {
this.imageContentType = imageContentType;
return this;
}
public void setImageContentType(String imageContentType) {
this.imageContentType = imageContentType;
}
// jhipster-needle-entity-add-getters-setters - JHipster will add getters and setters here
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof Product)) {
return false;
}
return id != null && id.equals(((Product) o).id);
}
@Override
public int hashCode() {
// see https://vladmihalcea.com/how-to-implement-equals-and-hashcode-using-the-jpa-entity-identifier/
return getClass().hashCode();
}
// prettier-ignore
@Override
public String toString() {
return "Product{" +
"id=" + getId() +
", title='" + getTitle() + "'" +
", price=" + getPrice() +
", image='" + getImage() + "'" +
", imageContentType='" + getImageContentType() + "'" +
"}";
}
}