你甚至可以映射Map
类型的属性:
<dynamic-component name="userAttributes"> <property name="foo" column="FOO" type="string"/> <property name="bar" column="BAR" type="integer"/> <many-to-one name="baz" class="Baz" column="BAZ_ID"/> </dynamic-component>
从<dynamic-component>
映射的语义上来讲,它和<component>
是相同的。
这种映射类型的优点在于通过修改映射文件,就可以具有在部署时检测真实属性的能力。利用一个DOM解析器,也可以在程序运行时操作映射文件。
更好的是,你可以通过Configuration
对象来访问(或者修改)Hibernate的运行时元模型。