是否可以使用休眠映射不同的字段类型?
Posted
技术标签:
【中文标题】是否可以使用休眠映射不同的字段类型?【英文标题】:Is it possible to map different field types using hibernate? 【发布时间】:2012-12-28 14:59:23 【问题描述】:我想知道是否可以映射不同的数据类型。例如,我在 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】:是的,你可以。
您必须创建一个扩展为 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 数据类型,与您的访问相同
【讨论】:
以上是关于是否可以使用休眠映射不同的字段类型?的主要内容,如果未能解决你的问题,请参考以下文章