package com.example.model; import java.util.ArrayList; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.MapsId; import javax.persistence.OneToMany; import javax.persistence.OneToOne; @Entity public class Person { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Integer personId; private String firstName; private String lastName; @OneToMany(mappedBy="person", fetch=FetchType.EAGER, cascade=CascadeType.ALL, orphanRemoval=true) private List<Address> addresses; public List<Address> getAddresses() { return addresses; } public void setAddresses(List<Address> addresses) { this.addresses = addresses; } public Integer getPersonId() { return personId; } public void setPersonId(Integer id) { this.personId = id; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } }