ReservationObjectPriceEntity.java
package sk.iway.iwcm.components.reservation.jpa;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.TableGenerator;
import javax.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
import sk.iway.iwcm.DateTools;
import sk.iway.iwcm.system.adminlog.EntityListenersType;
import sk.iway.iwcm.system.datatable.DataTableColumnType;
import sk.iway.iwcm.system.datatable.annotations.DataTableColumn;
import sk.iway.iwcm.system.datatable.annotations.DataTableColumnEditor;
import sk.iway.iwcm.system.datatable.annotations.DataTableColumnEditorAttr;
@Entity
@Table(name = "reservation_object_price")
@Getter
@Setter
@EntityListeners(sk.iway.iwcm.system.adminlog.AuditEntityListener.class)
@EntityListenersType(sk.iway.iwcm.Adminlog.TYPE_RESERVATION_PRICE)
public class ReservationObjectPriceEntity implements Serializable {
@Id
@GeneratedValue(generator = "WJGen_reservation_object_price")
@TableGenerator(name = "WJGen_reservation_object_price", pkColumnValue = "reservation_object_price")
@Column(name = "object_price_id")
@DataTableColumn(inputType = DataTableColumnType.ID, title = "ID")
private Long id;
@Column(name = "object_id")
@DataTableColumn(
inputType = DataTableColumnType.NUMBER,
title = "reservation.reservation_object_price.reservation_object_id",
editor = {
@DataTableColumnEditor(
attr = {
@DataTableColumnEditorAttr(key = "disabled", value = "disabled")
}
)
}
)
private Long objectId;
@Column(name = "datum_od")
@NotNull
@DataTableColumn(
inputType = DataTableColumnType.DATE,
title="components.reservation.reservation_list.date_from2")
private Date dateFrom;
@Column(name = "datum_do")
@NotNull
@DataTableColumn(
inputType = DataTableColumnType.DATE,
title="components.reservation.reservation_list.date_to2")
private Date dateTo;
@Column(name = "cena")
@NotNull
@DataTableColumn(
inputType = DataTableColumnType.NUMBER,
title = "reservation.reservation_object_price.price")
private BigDecimal price;
@Column(name = "domain_id")
private Integer domainId;
@ManyToOne
@JsonBackReference(value="reservationObjectForPrice")
@JoinColumn(name="object_id", insertable = false, updatable = false)
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
private ReservationObjectEntity reservationObjectForPrice;
public Date getDateFrom() {
return DateTools.setTimePart(this.dateFrom, 0, 0, 0, 0);
}
public Date getDateTo() {
return DateTools.setTimePart(this.dateTo, 23, 59, 59, 999);
}
}