1 package pl.matsuo.core.model;
2
3 import pl.matsuo.core.model.api.HasId;
4
5 import javax.persistence.GeneratedValue;
6 import javax.persistence.Id;
7 import javax.persistence.MappedSuperclass;
8 import javax.persistence.SequenceGenerator;
9 import java.util.Date;
10
11 import static javax.persistence.GenerationType.*;
12
13
14 @MappedSuperclass
15 public abstract class AbstractEntity implements HasId, Comparable<AbstractEntity> {
16
17
18 @Id
19 @GeneratedValue(strategy = SEQUENCE, generator = "AbstractEntitySequence")
20 @SequenceGenerator(name = "AbstractEntitySequence", sequenceName = "entity_seq")
21 protected Integer id;
22 protected Date createdTime;
23
24
25
26
27
28
29
30
31
32
33
34 protected Integer idBucket;
35
36
37 @Override
38 public int compareTo(AbstractEntity entity) {
39 return id.compareTo(entity.getId());
40 }
41
42
43
44 @Override
45 public Integer getId() {
46 return id;
47 }
48 @Override
49 public void setId(Integer id) {
50 this.id = id;
51 }
52 public Date getCreatedTime() {
53 return createdTime;
54 }
55 public void setCreatedTime(Date createdTime) {
56 this.createdTime = createdTime;
57 }
58 public Integer getIdBucket() {
59 return idBucket;
60 }
61 public void setIdBucket(Integer idBucket) {
62 this.idBucket = idBucket;
63 }
64 }
65