package org.hibernate.test.annotations.engine.collection; import java.util.ArrayList; import java.util.List; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToMany; import javax.persistence.OrderColumn; import javax.persistence.Table; import org.hibernate.annotations.Cascade; import org.hibernate.annotations.CascadeType; /** * @author Emmanuel Bernard */ @Entity @Table(name = "co_father") public class Father { @Id @GeneratedValue public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } private Integer id; @OneToMany @OrderColumn(name = "son_arriv") @JoinColumn(name = "father_id", nullable = false) @Cascade({ CascadeType.SAVE_UPDATE }) public List<Son> getOrderedSons() { return orderedSons; } public void setOrderedSons(List<Son> orderedSons) { this.orderedSons = orderedSons; } private List<Son> orderedSons = new ArrayList<Son>( ); }