Saturday, November 29, 2014

Ultimate Hibernate Base Bean


/**
 * Perfect Entity base class
 */
@Getter
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@MappedSuperclass
public abstract class EntityBase implements Serializable, IsSerializable {

 private static final long serialVersionUID = 1L;

 @Id
 @GeneratedValue(strategy = GenerationType.AUTO)
 @Column(name = "ID")
 protected Long id;

 @Version
 @Column(name = "VERSION")
 protected Integer version;

 @Temporal(TemporalType.TIMESTAMP)
 @Column(name = "CREATED", nullable = false)
 protected Date created;

 @Temporal(TemporalType.TIMESTAMP)
 @Column(name = "UPDATED", nullable = false)
 protected Date updated;

 @PrePersist
 protected void onCreate() {
  updated = created = new Date();
 }

 @PreUpdate
 protected void onUpdate() {
  updated = new Date();
 }
}


No comments:

Post a Comment