2016-03-18 98 views
0

我有一個包含XMLGregorianCalendar屬性的類,它不是hibernate支持的基本類型。用戶指南告訴我AttributeConverter是一個解決方案。不過,我發現它與註解@Converter來實現,我得到這個:如何在JPA XML映射文件中使用AttributeConverter(JPA 2.1)?

enter image description here

我需要處理的屬性是:

enter image description here

所以我嘗試使用Hibernate映射文件,但我找不到轉換器標籤。我怎麼能解決這個問題?

+0

請不要發佈源代碼的截圖,粘貼到此處描述的,你可以把它添加到您的實體映射。否則,它很難閱讀和不可搜索。 –

回答

1

在本教程中(http://www.thoughts-on-java.org/how-to-use-jpa-type-converter-to/

<entity-mappings version="2.1" 
    xmlns="http://xmlns.jcp.org/xml/ns/persistence/orm" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence/orm_2_1.xsd"> 

    <entity class="x.y.Entity"> 
     <convert converter="x.y.CryptoConverter" attribute-name="yourField"/> 
    </entity> 
</entity-mappings> 
+0

非常感謝!這非常有用! –

+0

對不起,我可以再問一個問題嗎?實體映射文件與hibernate-mapping不同。它也可以在Hibernate中使用嗎?據我所知,Hibernate使用

+0

@YoungHarry看起來像你的意思是persistence.xml。就像你在你的問題中提到的那樣,有一個帶有hibernate映射的orm.xml的例子。你真的需要在實體映射文件中聲明它嗎?你也可以用註釋的方式做到這一點。 – ivanenok