1

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

如果是,那么映射会是什么样子?或者这应该是什么样子:

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

1 回答 1

2

是的你可以。

您必须创建一个扩展为 Hibernate 的 UserType 的类。

自定义用户类型休眠

它可以是像这样的用户:

@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 数据类型,与您的访问相同

于 2012-12-28T15:01:54.860 回答