//$Id$ package org.hibernate.test.annotations.onetomany; import java.util.HashSet; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.OneToMany; import org.hibernate.annotations.OnDelete; import org.hibernate.annotations.OnDeleteAction; import org.hibernate.annotations.OrderBy; /** * Shows a default one to many * * @author Emmanuel Bernard */ @Entity public class Troop { private Integer id; private String name; private Set<Soldier> soldiers; @OneToMany(mappedBy = "troop", cascade = {CascadeType.ALL}, fetch = FetchType.LAZY) @OrderBy(clause = "name desc") @org.hibernate.annotations.Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN) @OnDelete(action = OnDeleteAction.CASCADE) public Set<Soldier> getSoldiers() { return soldiers; } public void setSoldiers(Set<Soldier> soldiers) { this.soldiers = soldiers; } @Id @GeneratedValue public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public void addSoldier(Soldier s) { if ( soldiers == null ) soldiers = new HashSet<Soldier>(); soldiers.add( s ); s.setTroop( this ); } }