slim3でgwtやってます
slim3試してて、昨日出てしまったエラーなんですが、id:bufferingsさんに指摘していただいたので(ありがとうございます)、gen-modelでEntity等を作り直してみたりしているうちに、JDOHelper使わない場合は、大丈夫なのが分かりました。
そもそも、
@PersistenceCapable(identityType = IdentityType.APPLICATION) @Version(strategy = VersionStrategy.VERSION_NUMBER, column = "version") public class Cat implements Serializable { private static final long serialVersionUID = 1L; @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) @Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value = "true") private String key; @Persistent private Long version = 1L; @Persistent private String name; @Persistent private String kindKey; public String getKey() { return key; } public void setKey(String key) { this.key = key; } public Long getVersion() { return version; } public String getName() { return name; } public void setName(String name) { this.name = name; } /*public Kind getKind() { if (kindKey == null) { return null; } return JDOHelper.getPersistenceManager(this).getObjectById(Kind.class, kindKey); }*/ public void setKind(Kind kind) { if (kind == null) { kindKey = null; } kindKey = kind.getKey(); } }
ここで使ったやつ。このモデルをそのまま使っていたんですね。コメント部分のコメントをはずすと、昨日のエラーになるのであります。
そりゃそうか?GWTのクライアントコードって結構制限あって全てのJavaが書けるわけではありません。
自身のパッケージにはないモジュールはgwt.xmlで登録してあげることになると思うのですが、当然JDOHelperはモジュールxmlを提供していませんので、だめと言うこと。とりあえずいろいろ考えます。いろいろ確認します。
サーバ側DaoでCat取得したときになんかプロパティにセットしておいてあげればとりあえずはできそうかな。やってみる。
分かることを少しずつ増やして行くことが重要だと痛感する。間違ってもいい。やる。