Возможно ли сопоставить столбец Hibernate с пользовательским типом пользователя?

#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 это не очень очевидно.