我想知道是否可以映射不同的数据类型。例如,我在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"/>
答案 0 :(得分: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数据类型,就像您访问
一样