2016-04-02 14 views
0

を作成することはできません。JPAのアノテーションは、表

が、私は@Idを削除すると、それはこのように、成功です:

@Entity 
@Table(name = "dau") 
public class EntityDau implements Serializable { 
    private static final long serialVersionUID = 2L; 

    @Id 
    private String startday; 
    @Id 
    private String endday; 
    @Id 
    private String serverid; 
    @Id 
    private String channelid; 
    private String platformid; 
    private int dau; 

    ...... 

} 

違いだけ@Id。 JPA/Hibernateの@idアノテーションの数に制限はありますか?

ありがとうございました!

答えて

0

単一の@Idがある場合、IDは完全に定義されますが、@Id(複合ID)が複数ある場合は@IdClassを定義する必要があります。私は、JPA実装からのエラーメッセージがあなたにそれを伝えてくれると期待しています。

はまた、第二の例をsuccessedさhttp://www.datanucleus.org/products/accessplatform_5_0/jpa/application_identity.html

+0

号参照します。それはテーブルを作成することができます – littzh

+0

私はそれが "スキーマを作成する"ことができないと言っていませんでした。私が言ったのは、@IdClassがJPAを使う必要があるということです。あなたはランタイムになり、そのままで失敗します。 –

+0

ありがとう – littzh