パスワードを忘れた? アカウント作成
394046 journal

ch.6の日記: WebObjects日記 Enterprise Object 編

日記 by ch.6
OpenBase が動かなくて中断していた WebObjects のお勉強。PostgreSQL が JDBC ドライバであっさり使えそうなので再開した。

最初の例題の Author プロジェクトで、おおむねちゃんと動くんだけど EOEditingContext.saveChanges() でプライマリキーに関して例外が発生してしまう。ぐぐってみると、

CREATE TABLE eo_pk_table (
        name character(40),
        pk integer
);

を実行しておくといいらしい(http://www.wikiroom.com/WebObjects/?2ch#content_1_9)。やってみるとちゃんと動く。どうやら WebObjects(というか EOModeler)は自分が知っている DB のドライバに対してはこれに相当することをやる SQL 文をちゃんと出してくれるのではないかと思う。

あと、WebObjects Builder のバグだと思うけど、Add Key... で、型を Mutable Array of ... にすると、Java ソースで型が (null) になってしまう。Xcode の Modeler を使えば解決するかも(未確認)。

-- 追記 --
Xcode でモデルをいじってみたけど、schema の生成で例外が発生してしまう。と思ってよく見ると、「 Next exception:SQL State:42P07 -- error code: 0 -- msg: ERROR: relation "author" already exists」なんて言っているので、author テーブルを削除しておくとうまく生成できた。が、EO Modeler でモデルを作った時に設定したはずの char(30) の Width 部分(「30」のことね)が無視されてしまう。これはどこに設定すればいいのかなぁ。Xcode でも SQL を生成するだけってのができれば目で見て確認できていいんだけど。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー

読み込み中...