1 package org.hibernate.test.annotations.onetomany; 3 4 import java.util.HashSet ; 5 import java.util.Set ; 6 import javax.persistence.CascadeType; 7 import javax.persistence.Entity; 8 import javax.persistence.GeneratorType; 9 import javax.persistence.Id; 10 import javax.persistence.OneToMany; 11 import javax.persistence.FetchType; 12 13 import org.hibernate.annotations.OnDelete; 14 import org.hibernate.annotations.OnDeleteAction; 15 import org.hibernate.annotations.OrderBy; 16 17 21 @Entity 22 public class Troop { 23 private Integer id; 24 private String name; 25 private Set <Soldier> soldiers; 26 27 @OneToMany(mappedBy="troop", cascade={CascadeType.ALL}, fetch=FetchType.LAZY) 28 @OrderBy(clause="name desc") 29 @org.hibernate.annotations.Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN) 30 @OnDelete(action=OnDeleteAction.CASCADE) 31 public Set <Soldier> getSoldiers() { 32 return soldiers; 33 } 34 35 public void setSoldiers(Set <Soldier> soldiers) { 36 this.soldiers = soldiers; 37 } 38 39 @Id(generate = GeneratorType.AUTO) 40 public Integer getId() { 41 return id; 42 } 43 44 public void setId(Integer id) { 45 this.id = id; 46 } 47 48 public String getName() { 49 return name; 50 } 51 52 public void setName(String name) { 53 this.name = name; 54 } 55 56 public void addSoldier(Soldier s) { 57 if (soldiers == null) soldiers = new HashSet <Soldier>(); 58 soldiers.add(s); 59 s.setTroop(this); 60 } 61 62 } 63 | Popular Tags |