package com.danielme.demo.springjpahib;
import java.util.Calendar;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.PrePersist;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
/**
* Sample JPA entity.
* @author danielme.com
*
*/
@org.hibernate.annotations.Cache(usage = org.hibernate.annotations.CacheConcurrencyStrategy.READ_WRITE)
@Entity
@Table(name="countries")
public class Country
{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(nullable = false, unique=true)
private String name;
@Column(nullable = false)
private Integer population;
@Column(updatable = false, nullable = false)
@Temporal(TemporalType.TIMESTAMP)
private Calendar creation;
public Country()
{
super();
}
public Country(String name, Integer population)
{
super();
this.name = name;
this.population = population;
}
@PrePersist
public void onPersist()
{
creation = Calendar.getInstance();
}
public Long getId()
{
return id;
}
public void setId(Long id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public Integer getPopulation()
{
return population;
}
public void setPopulation(Integer population)
{
this.population = population;
}
public Calendar getCreation()
{
return creation;
}
public void setCreation(Calendar creation)
{
this.creation = creation;
}
}