Skip to content

Instantly share code, notes, and snippets.

Created August 21, 2012 02:01
Show Gist options
  • Star 16 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save anonymous/3410579 to your computer and use it in GitHub Desktop.
Save anonymous/3410579 to your computer and use it in GitHub Desktop.
package models;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
import javax.persistence.PrePersist;
import javax.persistence.PreUpdate;
import javax.persistence.Version;
import play.db.ebean.Model;
@MappedSuperclass
public class Timestampable extends Model {
@Id
@GeneratedValue
public Long id;
@Column(name = "created_at")
public Date createdAt;
@Column(name = "updated_at")
public Date updatedAt;
@Version
public int version;
@Override
public void save() {
createdAt();
super.save();
}
@Override
public void update() {
updatedAt();
super.update();
}
@PrePersist
void createdAt() {
this.createdAt = this.updatedAt = new Date();
}
@PreUpdate
void updatedAt() {
this.updatedAt = new Date();
}
}
@eternel7
Copy link

Really nice java class for Play!
All my models will now extend your class!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment