12

私のモデルプロジェクト(永続クラス、別名Java Beanのみがあります)には、複合主キーを持つクラスがあります。これをマッピングするために、クラスで 2 つの @Id を使用しました。hibernate 4 の前は不可能でしたが、今では問題ありません。したがって、問題は、Eclipse がこのクラスでエラーを表示し、古い方法で実行する必要があることです。このような:

誤エラー

私が言ったように、コードを実行すると正常に動作するため、これは誤ったエラーです。eclipse に JBoss Tools プラグインをインストールしましたが、エラーの原因が eclipse なのか eclipse なのかわかりません。

この問題を解決する方法を知っている人はいますか?アプリの実行を妨げているわけではありませんが、エラーが常に表示されるのは面倒です。

- - 編集 - -

プロジェクトで JPA ファセットを非アクティブ化し、エラーが停止したため、問題が JBoss Tools にあることがわかりました。しかし、JBoss Tools が提供する機能を使用できればよいので、まだ解決策はありません。

4

2 に答える 2

2

複合キーがある場合は、複合キークラスも必要です

次のようにマッピングされたもの:

@Entity
@IdClass(PK_BP.class)
@Table(name="BP_BIS")
public class BP_BIS implements Serializable
{
    private static final long serialVersionUID = 1L;

    @Id  
    private String BP_MODE;
    @Id  
    private String BP_BD;

複合キー クラスは次のようになります。

public class PK_BP implements Serializable
{
    private static final long serialVersionUID = 1L;

    private String BP_MODE;
    private String BP_BD;

    public PK_BP()
    {}

    public PK_BP(String bP_MODE, String bP_BD) {
        this.BP_MODE = bP_MODE;
        this.BP_BD = bP_BD;
    }

}
于 2014-01-15T10:36:54.960 に答える