솔리드 추출의 상위 베이스 모델

2396 단어 Model
/**
 *        
 * 
 * @author Jerval
 * 
 */
@MappedSuperclass
public class BaseModel implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1740465809795976576L;

	public static final int DELETED = 1;
	public static final int NOT_DELETED = 0;
	public static final int INIT_STATE = 0;

	protected Integer id;
	protected Integer version;
	protected Date dateCreated;
	protected Date dateUpdate;
	protected Integer state = INIT_STATE;
	protected Integer deleted = NOT_DELETED;

	public BaseModel() {
	}

	public BaseModel(Integer id, Date dateCreated, Date dateUpdate,
			Integer state, Integer deleted) {
		super();
		this.id = id;
		this.dateCreated = dateCreated;
		this.dateUpdate = dateUpdate;
		this.state = state;
		this.deleted = deleted;
	}

	@Id
	@GeneratedValue
	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		if (id != null && id.intValue() > 0) {
			this.id = id;
		}
	}

	 @Version
	 public Integer getVersion() {
	 return version;
	 }
		
	 public void setVersion(Integer version) {
	 this.version = version;
	 }

	@PrePersist
	public void prePersist() {
		dateCreated = new Date();
	}

	@PreUpdate
	public void preUpdate() {
		dateUpdate = new Date();
	}

	@Column(name = "date_created")
	public Date getDateCreated() {
		return dateCreated;
	}

	public void setDateCreated(Date dateCreated) {
		this.dateCreated = dateCreated;
	}

	@Column(name = "date_update")
	public Date getDateUpdate() {
		return dateUpdate;
	}

	public void setDateUpdate(Date dateUpdate) {
		this.dateUpdate = dateUpdate;
	}

	public Integer getState() {
		return state;
	}

	public void setState(Integer state) {
		this.state = state;
	}

	public Integer getDeleted() {
		return deleted;
	}

	public void setDeleted(Integer deleted) {
		this.deleted = deleted;
	}
}

좋은 웹페이지 즐겨찾기