// Path: src/main/java/yourwebproject2/framework/data/JPAEntity.java
// @MappedSuperclass
// public abstract class JPAEntity<T extends Serializable> implements Entity {
//     protected  T id;
//     protected Date createdAt;
//     protected Date updatedAt;
// 
// 
//     public JPAEntity() {
//         createdAt = new Date();
//         updatedAt = new Date();
//     }
// 
// 
//     /**
//      * To make XStream deserialization assign values to
//      * base class fields of createdAt and updatedAt
//      *
//      * @return
//      */
//     public Object readResolve() {
//         if (this.createdAt == null) {
//             this.createdAt = new Date();
//             this.updatedAt = createdAt;
//         }
// 
//         return this;
//     }
// 
// 
//     @XmlElement(type = Object.class) @Id @GeneratedValue
//     public T getId() {
//         return id;
//     }
// 
// 
//     public void setId(T id) {
//         this.id = id;
//     }
// 
// 
//     @JsonIgnore @Temporal(TemporalType.DATE) @Column
//     public Date getCreatedAt() {
//         return createdAt;
//     }
// 
// 
//     public void setCreatedAt(Date createdAt) {
//         this.createdAt = createdAt;
//     }
// 
// 
//     @JsonIgnore @Temporal(TemporalType.TIMESTAMP) @Column
//     public Date getUpdatedAt() {
//         return updatedAt;
//     }
// 
// 
//     public void setUpdatedAt(Date updatedAt) {
//         this.updatedAt = updatedAt;
//     }
// }


import yourwebproject2.framework.data.JPAEntity;
import org.hibernate.validator.constraints.NotBlank;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.util.Date;
package yourwebproject2.model.entity;



/**
 * The core Job Entity
 *
 * Created by Y.Kamesh on 8/2/2015.
 */
@Entity
@Table(indexes = {  @Index(name="name_idx", columnList = "name", unique = true),
        @Index(name="status_idx", columnList = "status"),
        @Index(name="category_idx", columnList = "category")})
// Path: src/main/java/yourwebproject2/framework/data/JPAEntity.java
// @MappedSuperclass
// public abstract class JPAEntity<T extends Serializable> implements Entity {
//     protected  T id;
//     protected Date createdAt;
//     protected Date updatedAt;
// 
// 
//     public JPAEntity() {
//         createdAt = new Date();
//         updatedAt = new Date();
//     }
// 
// 
//     /**
//      * To make XStream deserialization assign values to
//      * base class fields of createdAt and updatedAt
//      *
//      * @return
//      */
//     public Object readResolve() {
//         if (this.createdAt == null) {
//             this.createdAt = new Date();
//             this.updatedAt = createdAt;
//         }
// 
//         return this;
//     }
// 
// 
//     @XmlElement(type = Object.class) @Id @GeneratedValue
//     public T getId() {
//         return id;
//     }
// 
// 
//     public void setId(T id) {
//         this.id = id;
//     }
// 
// 
//     @JsonIgnore @Temporal(TemporalType.DATE) @Column
//     public Date getCreatedAt() {
//         return createdAt;
//     }
// 
// 
//     public void setCreatedAt(Date createdAt) {
//         this.createdAt = createdAt;
//     }
// 
// 
//     @JsonIgnore @Temporal(TemporalType.TIMESTAMP) @Column
//     public Date getUpdatedAt() {
//         return updatedAt;
//     }
// 
// 
//     public void setUpdatedAt(Date updatedAt) {
//         this.updatedAt = updatedAt;
//     }
// }


// Path: src/main/java/yourwebproject2/model/entity/Job.java
import yourwebproject2.framework.data.JPAEntity;
import org.hibernate.validator.constraints.NotBlank;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.util.Date;

package yourwebproject2.model.entity;



/**
 * The core Job Entity
 *
 * Created by Y.Kamesh on 8/2/2015.
 */
@Entity
@Table(indexes = {  @Index(name="name_idx", columnList = "name", unique = true),
        @Index(name="status_idx", columnList = "status"),
        @Index(name="category_idx", columnList = "category")})
public class Job extends JPAEntity<Long> {