Domain Object 思考(二)

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


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

 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

你可能感兴趣的:(Domain Object 思考(二))