躺在沙滩上的小猪

快乐的每一天

Domain Object 思考(二)

我们可以让Domain Object更rich:)

 1package com.martin.pdo;
 2
 3import java.io.Serializable;
 4import 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 */

12public 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


测试代码,我们可以这样来写

 1ApplicationContext 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

posted on 2005-09-22 14:46 martin xus 阅读(140) 评论(0)  编辑  收藏 所属分类: java