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; } }