2014-09-01 5 views
0

Я использую JPA с Hibernate. Для сущностей, определенных в моем приложении, я использую аннотации, но некоторые из этих объектов входят в состав стороннего кода без каких-либо сопоставлений. Поэтому я должен сопоставить их с помощью XML (по крайней мере, я думаю, что я должен):Конфигурация Hibernate в файле сопоставления XML JPA

<entity-mappings ...> 
    <access>FIELD</access> 

    <mapped-superclass class="com.acme.common.model.Request"> 
     <attributes> 
      <id name="id"/> 
     </attributes> 
    </mapped-superclass> 
</entity-mappings> 

Поскольку это JPA отображение, он прекрасно работает за исключением одного случая, когда я должен использовать Hibernate конкретный пользовательский тип для отображения Тип PostgreSQL uuid до java.util.UUID.

Использование аннотаций, это кусок пирога:

@Entity 
public class Partner { 
    @Id 
    @Type(type = "org.hibernate.type.PostgresUUIDType") 
    private UUID id = IdGenerator.generate(); 
} 

Проблема заключается в том, что я не могу понять, как сделать то же самое с помощью XML.

Я рассматривал использование собственного XML-сопоставления Hibernate, но похоже, что он не поддерживает сопоставленные суперклассы.

+0

возможно дубликат [Hibernate: переход от основного API для JPA API без перезаписи сопоставление] (http://stackoverflow.com/questions/11305204/hibernate-switch-from-core-api-to-jpa-api-without-rewriting-mapping) – zbig

+0

Не похоже на дубликат – ben75

ответ

1

JPA-сопоставления поддерживают только собственный API. Вам нужно будет использовать файл hbm.

Вам придется перейти к отображению HBM файла со свойством, как:

Выезд здесь для получения более подробной информации: http://docs.jboss.org/hibernate/orm/3.6/quickstart/en-US/html/hibernate-gsg-tutorial-basic.html

+0

Означает ли это Я не могу получить лучшее из обоих миров с XML, как с аннотациями? Я имею в виду, я могу объединить аннотации JPA и Hibernate. Переключение на Hibernate XML, значит ли это, что мне придется отказаться от функций JPA, таких как сопоставленные супер-классы? –

+0

У вас могут быть функции JPA, но вам нужно будет использовать только сопоставления Hibernate. Я никогда не слышал о функции, которая позволяет файлу hbm импортировать файл orm (jpa only). – uaiHebert

Смежные вопросы