1 package ejava.examples.orm.rel.annotated;
2
3 import java.util.HashMap;
4 import java.util.Map;
5
6 import javax.persistence.*;
7
8
9
10
11
12 @Entity @Table(name="ORMREL_LIBRARY")
13 public class Library {
14 @Id @GeneratedValue
15 private long id;
16 @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY)
17 @MapKey(name="id")
18 private Map<Long, Borrower> borrowers = new HashMap<Long, Borrower>();
19
20 public Library() {}
21 public Library(long id) { this.id = id; }
22
23 public long getId() { return id; }
24
25 public Map<Long, Borrower> getBorrowers() { return borrowers; }
26 public void setBorrowers(Map<Long, Borrower> borrowers) {
27 this.borrowers = borrowers;
28 }
29
30 public String toString() {
31 StringBuilder text = new StringBuilder(super.toString());
32 text.append(", id=" + id);
33 text.append(", borrowers(" + borrowers.size() + ")={");
34 for(long bid: borrowers.keySet()) {
35 text.append("id=" + bid + "{" +
36 borrowers.get(bid).getName() +
37 "}, ");
38 }
39 text.append("}");
40 return text.toString();
41 }
42
43 }