是否可以使用休眠映射不同的字段类型?

时间:2012-12-28 14:59:24

标签: java hibernate orm hibernate-mapping

我想知道是否可以映射不同的数据类型。例如,我在Java中有一个Visit数据类型,它有一个类型为String的userEmail字段,我可以将它与hibernate映射到一个数据库表,该数据库表有userID而不是userEmail吗?根据id,它会找到电子邮件并返回java电子邮件,反之亦然?这可能吗?

如果是,那么映射将如何?或者这看起来如何:

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

1 个答案:

答案 0 :(得分: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数据类型,就像您访问

一样