Я пытаюсь настроить XML-файлы Hibernate таким образом, чтобы перечисления использовались как строковые значения, а не как экземпляры классов.
Схема БД:
table MyEntity (EntityId, EnumerationId)
table MyEnumeration (EnumerationId, EnumerationValue)
Это обеспечивает сопоставление многих строк MyEntity с одной строкой MyEnumeration. Примером MyEnumeration могут быть страны.
Hibernate hbm2hbmxml производит:
<hibernate-mapping>
<class name="MyEntity" table="MyEntity">
<many-to-one name="myEnumeration" class="MyEnumeration" fetch="select">
<column name="EnumerationId" length="36" />
</many-to-one>
...
</hibernate-mapping>
Отображение, приведенное выше, работает так, что теперь я могу получить доступ к экземплярам MyEnumeration в моем коде, а затем получить EnumerationValue. Однако я хотел бы абстрагироваться от этого. Вместо этого я хотел бы получить доступ к свойству myEnumeration в виде строки вместо класса MyEnumeration.
Как я могу сделать это с файлом отображения Hibernate?