2012-12-28 42 views
1

我想知道是否可以映射不同的數據類型。例如,我有一個Java訪問數據類型,它有一個String類型的userEmail字段,並且可以將它與hibernate映射到一個數據庫表,該數據庫表具有userID而不是userEmail?並根據ID它會找到電子郵件,並返回到Java電子郵件,反之亦然?這可能嗎?是否有可能使用休眠映射不同的字段類型?

如果是,那麼映射將如何?或者這應該是這樣的:

<many-to-one name="patientEmail" 
    column="idPatient" 
    not-null="true" 
    class="com.my.myapp.datamodel.Patient"/> 

回答

2

是的,你可以。

您必須創建一個擴展到Hibernate的UserType的類。

Custom UserType Hibernate

它可以是用戶,如:

@Column(name = "commission_type") 
     @Type(type = "com.core.commission.model.FNEnumUserType", parameters = @Parameter(name = "type", value = "com.core.commission.dto.CommissionType")) 
     private CommissionType commissionType; 

哪裏FNEnumUserType是cstom的數據類型相同像你有訪問