1. BaseEntity.java
package com.yourcompany.project.entity;
import java.io.Serializable;
import java.util.Calendar;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.MappedSuperclass;
import javax.persistence.PrePersist;
import javax.persistence.PreUpdate;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
/**
* @author RBN.
*
*/
@MappedSuperclass
public abstract class BaseEntity implements Serializable {
private static final long serialVersionUID = 3256578224929224117L;
@Column(name = "CREATED_BY")
private String createdBy;
@Column(name = "CREATED_AT")
@Temporal(TemporalType.TIMESTAMP)
private Date createdAt;
@Column(name = "UPDATED_BY")
private String updatedBy;
@Column(name = "UPDATED_AT")
@Temporal(TemporalType.TIMESTAMP)
private Date updatedAt;
public String getCreatedBy() {
return createdBy;
}
public void setCreatedBy(String createdBy) {
this.createdBy = createdBy;
}
public Date getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
public String getUpdatedBy() {
return updatedBy;
}
public void setUpdatedBy(String updatedBy) {
this.updatedBy = updatedBy;
}
public Date getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
@PrePersist
@PreUpdate
protected void updateDates() {
if (this.createdAt == null) {
this.createdAt = Calendar.getInstance().getTime();
}
this.updatedAt = Calendar.getInstance().getTime();
}
}
2. Branch.java
/**
*
*/
package com.yourcompany.project.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToOne;
import javax.persistence.Table;
/**
* @author RBN.
*
*/
@Entity
@Table(name = "BRANCHES")
@NamedQueries({
@NamedQuery(name = "Branch.findAll", query = "SELECT b FROM Branch b ORDER BY b.id DESC"),
@NamedQuery(name = "Branch.findById", query = "SELECT b FROM Branch b WHERE b.id = :id"),
@NamedQuery(name = "Branch.findByBranchCode", query = "SELECT b FROM Branch b WHERE b.branchCode = :branchCode") })
public class Branch extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1034356703289313389L;
@Id
@GeneratedValue
@Column(name = "ID")
private Long id;
@Column(name = "BRANCH_CODE")
private String branchCode;
@Column(name = "NAME")
private String name;
@Column(name = "ADDRESS")
private String address;
@Column(name = "TELEPHONE")
private String telephone;
@Column(name = "FAX")
private String fax;
@Column(name = "EMAIL")
private String email;
@OneToOne
@JoinColumn(name = "MANAGER")
private Employee manager;
@Column(name = "OPENING_HRS")
private String openingHrs;
@Column(name = "DESCRIPTION")
private String description;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getBranchCode() {
return branchCode;
}
public void setBranchCode(String branchCode) {
this.branchCode = branchCode;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public String getFax() {
return fax;
}
public void setFax(String fax) {
this.fax = fax;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Employee getManager() {
return manager;
}
public void setManager(Employee manager) {
this.manager = manager;
}
public String getOpeningHrs() {
return openingHrs;
}
public void setOpeningHrs(String openingHrs) {
this.openingHrs = openingHrs;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
package com.yourcompany.project.entity;
import java.io.Serializable;
import java.util.Calendar;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.MappedSuperclass;
import javax.persistence.PrePersist;
import javax.persistence.PreUpdate;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
/**
* @author RBN.
*
*/
@MappedSuperclass
public abstract class BaseEntity implements Serializable {
private static final long serialVersionUID = 3256578224929224117L;
@Column(name = "CREATED_BY")
private String createdBy;
@Column(name = "CREATED_AT")
@Temporal(TemporalType.TIMESTAMP)
private Date createdAt;
@Column(name = "UPDATED_BY")
private String updatedBy;
@Column(name = "UPDATED_AT")
@Temporal(TemporalType.TIMESTAMP)
private Date updatedAt;
public String getCreatedBy() {
return createdBy;
}
public void setCreatedBy(String createdBy) {
this.createdBy = createdBy;
}
public Date getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
public String getUpdatedBy() {
return updatedBy;
}
public void setUpdatedBy(String updatedBy) {
this.updatedBy = updatedBy;
}
public Date getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
@PrePersist
@PreUpdate
protected void updateDates() {
if (this.createdAt == null) {
this.createdAt = Calendar.getInstance().getTime();
}
this.updatedAt = Calendar.getInstance().getTime();
}
}
2. Branch.java
/**
*
*/
package com.yourcompany.project.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToOne;
import javax.persistence.Table;
/**
* @author RBN.
*
*/
@Entity
@Table(name = "BRANCHES")
@NamedQueries({
@NamedQuery(name = "Branch.findAll", query = "SELECT b FROM Branch b ORDER BY b.id DESC"),
@NamedQuery(name = "Branch.findById", query = "SELECT b FROM Branch b WHERE b.id = :id"),
@NamedQuery(name = "Branch.findByBranchCode", query = "SELECT b FROM Branch b WHERE b.branchCode = :branchCode") })
public class Branch extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1034356703289313389L;
@Id
@GeneratedValue
@Column(name = "ID")
private Long id;
@Column(name = "BRANCH_CODE")
private String branchCode;
@Column(name = "NAME")
private String name;
@Column(name = "ADDRESS")
private String address;
@Column(name = "TELEPHONE")
private String telephone;
@Column(name = "FAX")
private String fax;
@Column(name = "EMAIL")
private String email;
@OneToOne
@JoinColumn(name = "MANAGER")
private Employee manager;
@Column(name = "OPENING_HRS")
private String openingHrs;
@Column(name = "DESCRIPTION")
private String description;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getBranchCode() {
return branchCode;
}
public void setBranchCode(String branchCode) {
this.branchCode = branchCode;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public String getFax() {
return fax;
}
public void setFax(String fax) {
this.fax = fax;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Employee getManager() {
return manager;
}
public void setManager(Employee manager) {
this.manager = manager;
}
public String getOpeningHrs() {
return openingHrs;
}
public void setOpeningHrs(String openingHrs) {
this.openingHrs = openingHrs;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}