KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > hibernate > test > annotations > onetomany > Parent


1 //$Id: Parent.java,v 1.3 2005/06/18 16:24:22 epbernard Exp $
2
package org.hibernate.test.annotations.onetomany;
3
4 import java.io.Serializable JavaDoc;
5 import java.util.HashSet JavaDoc;
6 import java.util.Set JavaDoc;
7 import javax.persistence.AccessType;
8 import javax.persistence.CascadeType;
9 import javax.persistence.Entity;
10 import javax.persistence.Id;
11 import javax.persistence.OneToMany;
12
13 import org.hibernate.annotations.BatchSize;
14
15 /**
16  * @author Emmanuel Bernard
17  */

18 @Entity(access = AccessType.FIELD)
19 public class Parent implements Serializable JavaDoc {
20     @Id
21     public ParentPk id;
22     public int age;
23     
24     @OneToMany(cascade=CascadeType.ALL, mappedBy="parent")
25     @BatchSize(size=5)
26     @javax.persistence.OrderBy("favoriteSuperhero asc, favoriteSinger desc")
27     public Set JavaDoc<Child> children;
28
29     public int hashCode() {
30         //a NPE can occurs, but I don't expect hashcode to be used before pk is set
31
return id.hashCode();
32     }
33
34     public boolean equals(Object JavaDoc obj) {
35         //a NPE can occurs, but I don't expect equals to be used before pk is set
36
if (obj != null && obj instanceof Parent) {
37             return id.equals( ( (Parent) obj).id );
38         }
39         else {
40             return false;
41         }
42     }
43
44     public void addChild(Child child) {
45         if (children == null) {
46             children = new HashSet JavaDoc();
47         }
48         child.parent = this;
49         children.add(child);
50     }
51 }
52
Popular Tags