hibernate实体表示法之DOM4J表示法(2)

 

hibernate之实体表示法

 

hibernate中有3种内建的实体模式:

POJO 基于POJO,持久化类的一种领域模型实现。这是目前为止你所见到的,是默认的实体模式。

MAP 不需要Java类,用HashMap在Java应用程序中表示实体。这个模式允许完全动态应用程序的快速原型。

DOM4J 不需要Java类,实体被表示为xml元素,基于dom4j API。这种模式对于导出或者导入数据,或者通过XSLT处理来渲染和转 换数据时特别有用。

 


 

DOM4J模式的实例

 

把node属性添加到hibernate映射元数据来改变这个默认的xml表示法。

 

每一个node属性都定义了xml表示法:

. <class>映射中的node="xxx"属性,给该实体定义了xml元素的名称。如:<xxx></xxx>
. 任何属性映射中的node="yyy"属性,指定属性内容应该表示为给定名称的xml元素文本。如:<xxx><yyy>kkkk</yyy></xxx>
. 任何属性映射中的node="@zzz"属性,指定属性内容应该表示为给定名称的xml属性值。如:<xxx zzz="..."></xxx>
. 任何属性映射中的node="lll/@ppp"属性,指定属性内容应该在给定名称的一个子元素中表示为给定名称的xml属性值。

  <xxx><lll ppp="..."></lll></xxx>

 

 

pom.xml:

 

 

resources/hibernate.cfg.xml:

 

 

hibernateTest/Student.java:

 

 

hibernateTest/Student.hbm.xml:

 

 

util/HibernateUtil.java:

 

 

util/StudentManager.java:

 

输出结果:

 

注意:xxx.hbm.xml中加了note属性的xml表示法,并不影响你使用普通的POJO表示法。如上例。

 

 


 

 

DOM4J实体表示法的一对多实例:

 

 

生成的xml数据格式为:

 

embed-xml选项被用于触发被关联实体数据的嵌入或者引用。小心这个embed-xml选项--你可能很容易创建导致无限循环的循环引用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值