2

テーブルがある場合、以下のように EMP_CONTACTTYPE と言う

EMP  EMPNAME CONTACTTYPE CONTACT
1     W      1           EMAIL
2     X      1           EMAIL
3     Y      2           PHONE
4     Z      2           PHONE

詳細を次のように表示したい場合

EMAIL    PHONE
W        Y
X        z

同じテーブル " EMP_CONTACTTYPE " へのマッピングとして、エンティティ オブジェクトをどのように設計する必要がありますか。

以下のように、Contact 用と Emp 用の 2 つのエンティティ オブジェクトを作成し、Contact エンティティで onetomany マッピングを取得しました。

以下は連絡先エンティティです

@Entity
@Table(name = "EMP_CONTACTTYPE")
public class CONTACT
{
private String CONTACT_TYPE;
private String CONTACT;

@OneToMany(fetch = FetchType.EAGER)
@JoinTable(name = "EMP_CONTACTTYPE", joinColumns = { xxxxxx })    
private List<EMP> EMP;
}

以下はEMPエンティティです

@Entity
@Table(name = "EMP_CONTACTTYPE")
public class EMP
{
private String EMPLOYEE_NAME;
private String EMPLOYEE_KEY;
}

期待される結果は、連絡先オブジェクト タイプ (1 および電子メール) の場合と同様です。従業員の 2 つのオブジェクト (W および X) が必要です。join がこれに対する解決策であるかどうか、またはこれに join を追加する方法が明確でないかどうかはわかりません。このシナリオを設計する際の提案。

4

1 に答える 1