1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
| package kn.organization.domain;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Version;
import org.apache.commons.lang.builder.ToStringStyle;
/**
*
* @author Khaled.Noordin
*/
@Entity
@Table(name = "foo")
@NamedQueries({
@NamedQuery(name = "Foo.findAll", query = "SELECT f FROM Foo f"),
@NamedQuery(name = "Foo.findByBar", query = "SELECT f FROM Foo f WHERE f.bar = :bar"),
@NamedQuery(name = "Foo.findByBaz", query = "SELECT f FROM Foo f WHERE f.baz = :baz"),
@NamedQuery(name = "Foo.findByStartDate", query = "SELECT f FROM Foo f WHERE f.startDate = :startDate"),
@NamedQuery(name = "Foo.findBetweenStartDates", query = "SELECT f FROM Foo f WHERE f.startDate between :date1 and :date2")
})
public class Foo implements Serializable {
private static final long serialVersionUID = -1512051317276019769L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Version
private Integer version;
@NotNull
@Size(min = 1, max = 6)
private String bar;
@Column(name = "baz", unique = true)
private Long baz;
@Temporal(TemporalType.TIMESTAMP)
@NotNull
@Column(name = "start_date")
private Date startDate;
public Foo() {
this.id = null;
this.bar = null;
this.baz = null;
this.startDate = null;
}
public Foo(String bar, Long baz, Date startDate) {
this();
this.bar = bar;
this.baz = baz;
this.startDate = startDate;
}
public Foo(Long id, Integer version, String bar, Long baz, Date startDate) {
this.id = id;
this.version = version;
this.bar = bar;
this.baz = baz;
this.startDate = startDate;
}
public String getBar() {
return bar;
}
public void setBar(String bar) {
this.bar = bar;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getBaz() {
return baz;
}
public void setBaz(Long baz) {
this.baz = baz;
}
public Date getStartDate() {
return startDate;
}
public void setStartDate(Date startDate) {
this.startDate = startDate;
}
public Integer getVersion() {
return version;
}
public void setVersion(Integer version) {
this.version = version;
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(
this,
ToStringStyle.SHORT_PREFIX_STYLE);
}
/**
*
* @return
*/
@Override
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(
this,
new String[]{
"id",
"version"
});
}
/**
*
* @param object
* @return
*/
@Override
public boolean equals(Object object) {
return ( !( object instanceof Foo )
|| object == null ) ? false
: EqualsBuilder.reflectionEquals(
this,
object,
new String[]{
"id"
});
}
} |
Partager