hibernate对象映射的一个问题。
最近在研究hibernate。
但是我的书上面对有一个地方讲解的并不太好。
设想这样一个场景,我需要用composite组合的设计模式。
把picture的几个实例与para的几个实例按照顺序组合成一个text对象。
有一个Text(-id:String;-name:String;)类,
它由Picture(-url:String;-height:int;-weight:int;text_id:String)类与Paragragh(para:String;-text_id:String)类组成,也就是说,在hbm.xml文件中可以选用集合组件映射(component映射)或者one-to-many的模式
如果用集合组件映射,那么Text.hbm.xml文件中应该怎么来写包含关系呢?
我需要用一个list来保证Text与两个对象(picture对象与Paragraph对象)保持联系,并且最关键的是pic的实例与para的实例必须保证有正确的顺序,而不能只是pic与para实例组的内部能够保持正确的顺序。
参考书中只给了一个对象与另一个对象之间的组合的例子,如果一个对象和另外两个对象用list来组合应该怎么设计Text.hbm.xml呢?
附一个书中组合的例子按照上面的类图中的两个对象的组合关系(Text对Picture)
<list name="pic" table="picture">
<key column="text_id"/>
<composite-element
class="Picture">
<property name="url" column="rul"/>
<property name="weight" column="weight"/>
<property name="height" column="height"/>
</composite-elemnt>
</list>
但这只是两个对象之间的组合。。如果我希望按照上面说的三个对象Text同时维护Picture与paragragh里面的text_id值的组合,应该怎么来写hbm.xml呢?
可能问题让我描述得有点复杂了。。希望能看懂的高手们给个解释~
谢过~