#java #hibernate #hibernate-mapping #usertype
#java #hibernate #hibernate-сопоставление #usertype
Вопрос:
Я определил пользовательский тип пользователя, который отлично работает при использовании свойств моих объектов. Например:
<class name="com.my.sample" table="MY_TABLE">
...
<property name="foo" type="myCustomUserType">
</class>
Мне нужно что-то вроде этого:
<class name="com.my.sample" table="MY_OTHER">
...
<component name="myAddress" class="com.my.sample.Address">
<property name="street" column="MY_OTHER_ADRR_STREET" />
<property name="foo" type="myCustomUserType" column="MY_OTHER_ADRR_COLUMN" />
</component>
</class>
Очевидно, я предполагаю, что myCustomUserType
это правильно определено в .Файл HBM. Возможно ли сопоставить <component>
свойство, подобное этому?
Комментарии:
1. Вы пробовали это? Это должно работать нормально.
Ответ №1:
На самом деле, это работает нормально. Также возможно сопоставлять <component>
свойства, используя такие отношения, как <many-to-one>
. Сопоставление было примерно таким:
<component name="myAddress" class="com.my.sample.Address" >
<property name="aSimpleDate" column="TBL_ADDR_SIMPLE_DATE" type="date" />
<many-to-one class="OtherClass" name="otherClass" >
<column name="TBL_ADDR_OTHER_CLASS_ID" precision="9" scale="0"/>
</many-to-one>
<property name="foo" column="TLB_ADDR_FOO" type="myCustomUserType" />
</component>
К сожалению, в документации Hibernate это не очень очевидно.