2 * Hibernate, Relational Persistence for Idiomatic Java
4 * Copyright (c) 2010, Red Hat Inc. or third-party contributors as
5 * indicated by the @author tags or express copyright attribution
6 * statements applied by the authors. All third-party contributions are
7 * distributed under license by Red Hat Inc.
9 * This copyrighted material is made available to anyone wishing to use, modify,
10 * copy, or redistribute it subject to the terms and conditions of the GNU
11 * Lesser General Public License, as published by the Free Software Foundation.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
18 * You should have received a copy of the GNU Lesser General Public License
19 * along with this distribution; if not, write to:
20 * Free Software Foundation, Inc.
21 * 51 Franklin Street, Fifth Floor
22 * Boston, MA 02110-1301 USA
24 package org.hibernate.tutorial.envers;
26 import java.util.Date;
27 import javax.persistence.Column;
28 import javax.persistence.Entity;
29 import javax.persistence.GeneratedValue;
30 import javax.persistence.Id;
31 import javax.persistence.Table;
32 import javax.persistence.Temporal;
33 import javax.persistence.TemporalType;
35 import org.hibernate.annotations.GenericGenerator;
36 import org.hibernate.envers.Audited;
39 @Table( name = "EVENTS" )
40 @Audited // <--- this tell Envers to audit (track changes to) this entity
48 // this form used by Hibernate
51 public Event(String title, Date date) {
52 // for application use, to create new events
58 @GeneratedValue(generator="increment")
59 @GenericGenerator(name="increment", strategy = "increment")
64 private void setId(Long id) {
68 @Temporal(TemporalType.TIMESTAMP)
69 @Column(name = "EVENT_DATE")
70 public Date getDate() {
74 public void setDate(Date date) {
78 public String getTitle() {
82 public void setTitle(String title) {
87 public int hashCode() {
88 int result = title.hashCode();
89 result = 31 * result + date.hashCode();