This is an automated email from the ASF dual-hosted git repository. danhaywood pushed a commit to branch v2 in repository https://gitbox.apache.org/repos/asf/causeway-app-petclinic.git
commit bdb96f671ebd4195eaab188e115da52eeefaead1 Author: Dan Haywood <[email protected]> AuthorDate: Sun May 26 11:56:21 2024 +0100 adds pets collection to PetOwner --- .../domainapp/modules/petowner/dom/petowner/PetOwner.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/module-petowner/src/main/java/domainapp/modules/petowner/dom/petowner/PetOwner.java b/module-petowner/src/main/java/domainapp/modules/petowner/dom/petowner/PetOwner.java index 4f6f2d5..d845dd3 100644 --- a/module-petowner/src/main/java/domainapp/modules/petowner/dom/petowner/PetOwner.java +++ b/module-petowner/src/main/java/domainapp/modules/petowner/dom/petowner/PetOwner.java @@ -4,11 +4,14 @@ import java.time.LocalTime; import java.time.ZoneOffset; import java.time.temporal.ChronoUnit; import java.util.Comparator; +import java.util.Set; +import java.util.TreeSet; import javax.inject.Inject; import javax.inject.Named; import javax.persistence.AttributeOverride; import javax.persistence.AttributeOverrides; +import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Embedded; import javax.persistence.Entity; @@ -18,6 +21,7 @@ import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; +import javax.persistence.OneToMany; import javax.persistence.Table; import javax.persistence.Transient; import javax.persistence.UniqueConstraint; @@ -29,6 +33,7 @@ import org.springframework.lang.Nullable; import org.apache.causeway.applib.annotation.Action; import org.apache.causeway.applib.annotation.ActionLayout; import org.apache.causeway.applib.annotation.BookmarkPolicy; +import org.apache.causeway.applib.annotation.Collection; import org.apache.causeway.applib.annotation.DomainObject; import org.apache.causeway.applib.annotation.DomainObjectLayout; import org.apache.causeway.applib.annotation.Editing; @@ -36,7 +41,6 @@ import org.apache.causeway.applib.annotation.MemberSupport; import org.apache.causeway.applib.annotation.ObjectSupport; import org.apache.causeway.applib.annotation.Optionality; import org.apache.causeway.applib.annotation.Property; -import org.apache.causeway.applib.annotation.PropertyLayout; import org.apache.causeway.applib.annotation.Publishing; import org.apache.causeway.applib.annotation.TableDecorator; import org.apache.causeway.applib.jaxb.PersistentEntityAdapter; @@ -62,6 +66,7 @@ import lombok.ToString; import lombok.val; import domainapp.modules.petowner.PetOwnerModule; +import domainapp.modules.petowner.dom.pet.Pet; import domainapp.modules.petowner.types.Name; import domainapp.modules.petowner.types.Notes; import domainapp.modules.petowner.types.PhoneNumber; @@ -150,7 +155,10 @@ public class PetOwner implements Comparable<PetOwner>, CalendarEventable { @Property(commandPublishing = Publishing.ENABLED, executionPublishing = Publishing.ENABLED) private String notes; - + @Collection + @Getter + @OneToMany(mappedBy = "petOwner", cascade = CascadeType.ALL, orphanRemoval = true) + private Set<Pet> pets = new TreeSet<>(); @AttributeOverrides({ @AttributeOverride(name="name", column=@Column(name="attachment_name")),
