【问题标题】:JPA - Generic Master lookup table mappingJPA - 通用主查找表映射
【发布时间】:2013-05-07 22:13:28
【问题描述】:

我正在尝试映射一个通用查找表。从某种意义上说,查找表是通用的,而不是具有多个用于特定查找的主表,所有代码都托管在具有差异列(即 code_type)的单个表中。下面提供了一个示例代码表条目:

代码表
CODE_TYPE        CODE          DESCRIPTION
LOAN_STATUS    CLOS           已关闭
LOAN_STATUS    REG             已注册
LOAN_TYPE        CONV           常规
LOAN_TYPE        JUM              Jumbo
……

现在我的主要实体如下

@Entity(name="MORTGAGE")
public class Loan{
    @Id
    @Column(name="LOAN_SK_SEQ")
    protected long loanId;

    @Column(name="LOAN_NUM")
    protected String loanNumber;

    @Column(name="LOAN_STATUS_CD")
    protected CodeData loanStatus;

    @Column(name="LOAN_TYPE_CD")
    protected CodeData loanType;

    .....
}


代码表条目已映射为

@Entity(name="CODE")
public class CodeData{
    @Id
    @Column(name="CODE_TYPE")
    protected String codeType;

    @Column(name="CODE")
    protected String code;

    @Column(name="DESCRIPTION")
    protected String description;
}

如何映射/加入主实体 (LoanData) 的 LoanStatus 和 LoanType 字段。它需要根据类型获取正确的代码/描述。例如,当loanStatus 字段值为“CLOS”时,CodeData 应对应于 CODE_TYPE='LOAN_STATUS' AND CODE='CLOS'。同样,如果loanType 字段值为“CONV”,则与该字段关联的相应 CodeData 应为 CODE_TYPE='LOAN_TYPE' AND CODE='CONV'。

任何帮助将不胜感激。

【问题讨论】:

    标签: jpa master lookup-tables


    【解决方案1】:

    您可以将它们映射为@ManyToOne,并将代码用作外键。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-03
      相关资源
      最近更新 更多