97 lines
1.8 KiB
Java
97 lines
1.8 KiB
Java
package com.gmgauthier.trainer2.person;
|
|
|
|
|
|
import javax.persistence.*;
|
|
import java.time.LocalDate;
|
|
import java.time.Period;
|
|
|
|
@Entity
|
|
@Table
|
|
public class Person {
|
|
|
|
@Id
|
|
@SequenceGenerator(
|
|
name = "person_sequence",
|
|
sequenceName = "person_sequence",
|
|
allocationSize = 1
|
|
)
|
|
@GeneratedValue(
|
|
strategy = GenerationType.SEQUENCE,
|
|
generator = "person_sequence"
|
|
)
|
|
private long id;
|
|
private String name;
|
|
private String email;
|
|
private LocalDate dob;
|
|
|
|
@Transient
|
|
private Integer age;
|
|
|
|
|
|
public Person(){ }
|
|
|
|
public Person(String name, LocalDate dob, String email) {
|
|
this.name = name;
|
|
this.dob = dob;
|
|
this.email = email;
|
|
}
|
|
|
|
public Person(long id, String name, LocalDate dob, String email) {
|
|
this.id = id;
|
|
this.name = name;
|
|
this.dob = dob;
|
|
this.email = email;
|
|
}
|
|
|
|
public String getName() {
|
|
return name;
|
|
}
|
|
|
|
public void setName(String name) {
|
|
this.name = name;
|
|
}
|
|
|
|
public Integer getAge() {
|
|
return Period.between(this.dob, LocalDate.now()).getYears();
|
|
}
|
|
|
|
public void setAge(Integer age) {
|
|
this.age = age;
|
|
}
|
|
|
|
public LocalDate getDob() {
|
|
return dob;
|
|
}
|
|
|
|
public void setDob(LocalDate dob) {
|
|
this.dob = dob;
|
|
}
|
|
|
|
public String getEmail() {
|
|
return email;
|
|
}
|
|
|
|
public void setEmail(String email) {
|
|
this.email = email;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "Person{" +
|
|
"id=" + id +
|
|
", name='" + name + '\'' +
|
|
", age=" + age +
|
|
", dob=" + dob +
|
|
", email='" + email + '\'' +
|
|
'}';
|
|
}
|
|
|
|
public void setId(Long id) {
|
|
this.id = id;
|
|
}
|
|
|
|
public Long getId() {
|
|
return id;
|
|
}
|
|
}
|