精通Hibernate——域对象之间的关系

来源:互联网 发布:js window.open 居中 编辑:程序博客网 时间:2024/05/16 18:48

在域模型中,类之间存在四种关系
1、关联(Association)
类之间的引用关系,可以有一对一、一对多和多对多,例如customer与order之间就是一对多

public class Order{    // 与order对象关联的Customer对象    private Customer customer;}

以上代码建立了从Order类到Customer类的关联,同样也可以建立从Customer类对Order类的关联,由于一个Customer对象会对应多个Order对象,因此,应该在Customer类中定义一个orders集合,来存放客户生成的所有订单。

public class Customer{    // 与所有Customer对象关联的Order对象    private Set orders = new HashSet();}

这里写图片描述
2、依赖(Dependency)
依赖值得是类之间的访问关系,如果类A访问类B的属性或方法,或者类A负责实例化类B,那么可以说类A依赖类B。和关联关系不同,无需把雷B定义为类A的属性。
依赖关系有如下三种情况:
1、A类是B类中的(某中方法的)局部变量;
2、A类是B类方法当中的一个参数;
3、A类向B类发送消息,从而影响B类发生变化;
这里写图片描述
Driver依赖于Car
3、聚合(Aggregation)
聚合指的整体与部分之间的关系,在实体对象之间比较少见。例如人与手就是一个聚合关系

public class Persion{    private Set<Hands> hands = new HashSet<Hands>();}

4、一般化(泛化Generalization)
一般化在类中体现为继承关系,这个就比较容易理解了,比如熊猫继承动物

public class Pandan extends Animial{}
1 0
原创粉丝点击