私はJPAで少し緑色ですが、何らかの検索を行ったのでこのエラーコードは見つかりませんでした私はここに投稿します。GAE/J - JPAエラー - タイプ( "")はエンティティのものではありませんが、この操作に必要です
私はこのクラスを永続化しようとしている:
public Long createUserBasket(UserBasket basket) {
try{
synchronized (this) {
EntityManager em = EMFService.get().createEntityManager();
em.persist(basket);
em.close();
}
}catch(Exception ex){
//log.severe("Uh oh!" + ex.toString());
}
}
し、このエラーを取得:このメソッドの呼び出しで
@Entity(name = "UserBasket")
public class UserBasket extends BaseBasket implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long Id;
private static final long serialVersionUID = 1L;
public static long getSerialversionuid() {
return serialVersionUID;
}
public Long getId() {
return Id;
}
public void setId(Long id) {
Id = id;
}
}
java.lang.IllegalArgumentException: Type ("") is not that of an entity but needs to be for this operation
私はこれを上の実行していますよGAE。私はそれが私のエンティティと関係があると思うが、私は何がわからない。
編集:詳細に記入 - ここ
はBaseBasket(私はゲッターとセッターを切り取る)
@Entity(name = "BaseBasket")
public class BaseBasket {
public String basketID;
public List<BasketItem> items;
}
であると私はシンプルでUserBasketを作成します。
UserBaset b = new UserBasket();
そして、さまざまな値を割り当てます。
私はdatanucleusエンハンサーを使っていませんでした。これは私の単純な理解であり、必須ではなく、アプリケーションのクライアント部分とサーバー部分の間でこれらのオブジェクト(UserBasketなど)を共有していました。それらを簡単に保つ。
あなたのバスケットインスタンスはどのように作成しますか? BaseBasketエンティティを見ることはできますか?また、EntityManager/EntityManagerFactoryの作成方法についても興味があります。 –
例外にスタックトレースがあります。投稿する。あなたのクラスを強化しましたか? – DataNucleus