欢迎来到天天文库
浏览记录
ID:39549167
大小:17.58 KB
页数:8页
时间:2019-07-06
《hibernate的继承映射(InheritanceMapping)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、继承映射(InheritanceMapping)10.1.三种策略10.1.1.每个类分层结构一张表(Tableperclasshierarchy)10.1.2.每个子类一张表(Tablepersubclass)10.1.3.每个子类一张表(Tablepersubclass),使用辨别标志(Discriminator)10.1.4.混合使用“每个类分层结构一张表”和“每个子类一张表”10.1.5.每个具体类一张表(Tableperconcreteclass)10.1.6.每个具体类一张表,使用隐式多态10.1.7.隐式多态和其他继承映射混合使用10.2
2、.限制10.1.三种策略Hibernate支持三种基本的继承映射策略:每个类分层结构一张表(tableperclasshierarchy)tablepersubclass每个具体类一张表(tableperconcreteclass)此外,Hibernate还支持第四种稍有不同的多态映射策略:隐式多态(implicitpolymorphism)对于同一个继承层次内的不同分支,可以采用不同的映射策略,然后用隐式多态来完成跨越整个层次的多态。但是在同一个根元素下,Hibernate不支持混合了元素、3、ass>和的映射。在同一个元素下,可以混合使用“每个类分层结构一张表”(tableperhierarchy)和“每个子类一张表”(tablepersubclass)这两种映射策略,这是通过结合元素和来实现的(见后)。在多个映射文件中,可以直接在hibernate-mapping根下定义subclass,union-subclass和joined-subclass。也就是说,你可以仅加入一个新的映射文件来扩展类层次。你必须在subclass的映射中指明extends属性,给出一4、个之前定义的超类的名字。注意,在以前,这一功能对映射文件的顺序有严格的要求,从Hibernate3开始,使用extends关键字的时侯,对映射文件的顺序不再有要求;但在每个映射文件里,超类必须在子类之前定义。10.1.1.每个类分层结构一张表(Tableper
3、ass>和的映射。在同一个元素下,可以混合使用“每个类分层结构一张表”(tableperhierarchy)和“每个子类一张表”(tablepersubclass)这两种映射策略,这是通过结合元素和来实现的(见后)。在多个映射文件中,可以直接在hibernate-mapping根下定义subclass,union-subclass和joined-subclass。也就是说,你可以仅加入一个新的映射文件来扩展类层次。你必须在subclass的映射中指明extends属性,给出一
4、个之前定义的超类的名字。注意,在以前,这一功能对映射文件的顺序有严格的要求,从Hibernate3开始,使用extends关键字的时侯,对映射文件的顺序不再有要求;但在每个映射文件里,超类必须在子类之前定义。
5、classhierarchy)假设我们有接口Payment和它的几个实现类:CreditCardPayment,CashPayment和ChequePayment。则“每个类分层结构一张表”(Tableperclasshierarchy)的映射代码如下所示:6、"string"/>.........7、inator-value="CHEQUE">...采用这种策略只需要一张表即可。它有一个很大的限制:要求那些由子类定义的字段,如CCTYPE,不能有非空(NOTNULL)约束。10.1.2.每个子类一张表(Tablepersubclass)对于上例中的几个类而言,采用“每个子类一张表”的映射策略,代码如下所示:8、>..
6、"string"/>.........7、inator-value="CHEQUE">...采用这种策略只需要一张表即可。它有一个很大的限制:要求那些由子类定义的字段,如CCTYPE,不能有非空(NOTNULL)约束。10.1.2.每个子类一张表(Tablepersubclass)对于上例中的几个类而言,采用“每个子类一张表”的映射策略,代码如下所示:8、>..
7、inator-value="CHEQUE">...采用这种策略只需要一张表即可。它有一个很大的限制:要求那些由子类定义的字段,如CCTYPE,不能有非空(NOTNULL)约束。10.1.2.每个子类一张表(Tablepersubclass)对于上例中的几个类而言,采用“每个子类一张表”的映射策略,代码如下所示:8、>..
8、>..
此文档下载收益归作者所有