0

エンティティ クラスでのオブジェクトの作成に問題があります。次の例外が発生します。

java.lang.IllegalArgumentException: A: name.A はサポートされているプロパティ タイプではありません

小さなコード例を次に示します。

これは私のエンティティ B クラスです。

@Entity
public class B {        
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Key key;

    private ArrayList<A> token = new ArrayList<A>();

    public Profile() {
        this.token.add(new Token(1));
        this.token.add(new Token(2));
        this.token.add(new Token(3));
        this.token.add(new Token(4));
    }
}

これは私の標準の A クラスです。

public class A {
    private Integer id = new Integer(0);

    public A(int id) {
        this.id = id;
    }
}

クラス B をデータストアに保存します。次の時点で例外が発生します。

profile = new Profile();
em.persist(profile);
em.close(); //Exception

クラス B のトークン オブジェクトにコメントすると、すべてが機能します。BでクラスAを使用するにはどうすればよいですか?

4

1 に答える 1

0

問題は、クラス A が管理対象として識別されていないことだと思います。クラスAの上部で次の注釈を使用して確認できますか。

@Embeddable
public class A
于 2012-12-17T07:44:39.543 に答える