Domain Object 思考(二)
我們可以讓Domain Object更rich:)
1
package com.martin.pdo;
2
3
import java.io.Serializable;
4
import java.util.List;
5
6
/** *//**
7
* @author martin.xus
8
* @hibernate.class table="t_user"
9
* @spring.bean name="user"
10
* @spring.property name="manager" ref="userManager"
11
*/
12
public class User implements Serializable
{
13
14
/** *//**
15
* @hibernate.id generator-class="uuid.hex"
16
* length="32"
17
* column="user_id"
18
*/
19
private String id;
20
21
/** *//**
22
* @hibernate.property column="user_name"
23
* length="80"
24
*/
25
private String name;
26
27
/** *//**
28
* @hibernate.property
29
*/
30
private char sex;
31
32
/** *//**
33
* @hibernate.property
34
*/
35
private int age;
36
37
//省略了getter & setter
38
private UserManager manager = null;
39
40
/** *//**
41
* @return Returns the manager.
42
*/
43
public UserManager getManager()
{
44
return manager;
45
}
46
47
/** *//**
48
* @param manager The manager to set.
49
*/
50
public void setManager(UserManager manager)
{
51
this.manager = manager;
52
}
53
54
/** *//**
55
* @param user
56
*/
57
public void add(User user)
{
58
this.getManager().add(user);
59
}
60
61
public List loadByName(String name)
{
62
return this.getManager().loadByName(name);
63
}
64
65
public void remove(User user)
{
66
this.getManager().remove(user);
67
}
68
}
69

2

3

4

5

6


7

8

9

10

11

12



13

14


15

16

17

18

19

20

21


22

23

24

25

26

27


28

29

30

31

32


33

34

35

36

37

38

39

40


41

42

43



44

45

46

47


48

49

50



51

52

53

54


55

56

57



58

59

60

61



62

63

64

65



66

67

68

69

測試代碼,我們可以這樣來寫
1
ApplicationContext context = JUnitTestHelper.getContext();
2
User user = (User) context.getBean("user");
3
4
User _u1 = new User();
5
_u1.setName("martin xus");
6
_u1.setSex('F');
7
_u1.setAge(100);
8
9
user.add(_u1);
10
11
Assert.assertEquals(((User) user.loadByName("martin xus").get(0)).getId(), _u1.getId());
12

2

3

4

5

6

7

8

9

10

11

12

posted on 2005-09-22 14:46 martin xus 閱讀(145) 評論(0) 編輯 收藏 所屬分類: java