java - 是否可以使用 hibernate 映射不同的字段类型?

标签 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"/>

最佳答案

是的,可以。

您必须创建一个扩展为 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 数据类型,与您的 Visit 相同

关于java - 是否可以使用 hibernate 映射不同的字段类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14071417/

相关文章:

java - JPA 专业知识是否可以转移到 Toplink?

java - 设置 Play 2.2.1 和 IntelliJ 12.0.4

java - 带有 JPA/Hibernate 的 Spring MVC 中是否仍然需要 DAO

java - Hibernate 不批量插入

java - Hibernate 注释多对一映射生成奇数模式

java - 是否可以将 show_sql 的所有输出放在一个单独的文件中?

java - 将日期从数据库导入到 Excel 工作表中

java - 模拟存储库调用的返回实体返回 null

java - 无法将整数转换为 int

java - Hibernate Envers 不创建修订