ContactEntity.java
package sk.iway.basecms.contact;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.TableGenerator;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import lombok.Getter;
import lombok.Setter;
import sk.iway.iwcm.system.adminlog.EntityListenersType;
import sk.iway.iwcm.system.datatable.DataTableColumnType;
import sk.iway.iwcm.system.datatable.annotations.DataTableColumn;
/**
* Ukazkova JPA entita pre pouzitie v datatabulke
* http://docs.webjetcms.sk/v2022/#/custom-apps/admin-menu-item
*/
//nastavenie JPA entity
@Entity
@Table(name = "contact")
//automaticke generovanie getter/setter metod cez lombok
@Getter
@Setter
//nastavenie automatickeho auditovania zmien, dolezite je nastavit Adminlog.TYPE_XXX
@EntityListeners(sk.iway.iwcm.system.adminlog.AuditEntityListener.class)
@EntityListenersType(sk.iway.iwcm.Adminlog.TYPE_CLIENT_SPECIFIC)
public class ContactEntity {
@Id
@Column(name = "contact_id")
@GeneratedValue(generator = "WJGen_contact")
@TableGenerator(name = "WJGen_contact", pkColumnValue = "contact")
@DataTableColumn(inputType = DataTableColumnType.ID, title="ID", renderFormat = "dt-format-selector")
private Long id;
@DataTableColumn(inputType = DataTableColumnType.OPEN_EDITOR, title="components.contact.property.name")
@NotBlank
private String name;
@DataTableColumn(inputType = DataTableColumnType.TEXT, title="components.contact.property.vatid")
private String vatid;
@DataTableColumn(inputType = DataTableColumnType.TEXT, title="components.contact.property.street")
private String street;
@DataTableColumn(inputType = DataTableColumnType.TEXT, title="components.contact.property.city")
private String city;
@DataTableColumn(inputType = DataTableColumnType.TEXT, title="components.contact.property.zip")
@Size(min=5, max=8)
private String zip;
@DataTableColumn(inputType = DataTableColumnType.SELECT, title="components.contact.property.country")
private String country;
@DataTableColumn(inputType = DataTableColumnType.TEXT, title="components.contact.property.contact")
@Email
private String contact;
@DataTableColumn(inputType = DataTableColumnType.TEXT, title="components.contact.property.phone")
private String phone;
}