使用Hibernate注释将相同的值分配给其他列

时间:2012-05-18 22:59:46

标签: java hibernate annotations

基本上,我只需要将相同的EMPLOYEE_ID字段值分配给EMPLOYEE表的其他列(PROFILE_EMPLOYEE_NAME_ID& PROFILE_EMPLOYEE_STATUS_ID)。

以下详细信息:

带注释的类

    @SequenceGenerator(name="generator", sequenceName="EMPLOYEE_ID_SEQ")
    @Id
    @GeneratedValue(strategy=SEQUENCE, generator="generator")
    @Column(name="EMPLOYEE_ID", unique=true, nullable=false)
    private int employeeId;

    @Column(name="PROFILE_EMPLOYEE_NAME_ID", unique=true, nullable=false)
    private int profileEmployeeNameId;

    @Column(name="PROFILE_EMPLOYEE_STATUS_ID", unique=true, nullable=false)
    private int profileEmployeeStatusId;

    @OneToMany(cascade = ALL, fetch = EAGER, orphanRemoval = true)
    @JoinColumn(name = "SHORT_ID")
    @Where(clause = "ELEMENT_TYPE_CD like 'EMPLOYEE_%'")
    private Set<Profile> profile;

DDL

    EMPLOYEE
      EMPLOYEE_ID (Primary key)
      PROFILE_EMPLOYEE_NAME_ID
      PROFILE_EMPLOYEE_STATUS_ID

    PROFILE TABLE 
      PROFILE_ID (Primary key)
      ELEMENT_TYPE_CD (Possible values are: EMPLOYEE_NAME, EMPLOYEE_STATUS)
      SHORT_ID
      DESCRIPTION

PROFILE表通过SHORT_ID = EMPLOYEE_ID与Employee表连接。

我知道PROFILE_EMPLOYEE_NAME_ID&amp; PROFILE_EMPLOYEE_STATUS_ID是多余的,但这就是DBA如何设计它的方式。或者我可能还没有看到这个设计的目的。

有没有办法使用注释来做到这一点?否则,它的最佳解决方案是什么?

0 个答案:

没有答案