atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
Unofficial DB2 Wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
Unofficial DB2 Wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
Unofficial DB2 Wiki
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • Unofficial DB2 Wiki
  • Cayenne test

Unofficial DB2 Wiki

Cayenne test

最終更新:2007年12月09日 22:09

匿名ユーザー

- view
だれでも歓迎! 編集

Cayenne test page

このページは、テスト用のページです。

INSERT new objects

DDL:
CREATE TABLE "APP"."LOG" (
       "LOGID" INTEGER NOT NULL
     , "MESSAGE" VARCHAR(30) NOT NULL
     , "TIMESTAMP" TIMESTAMP DEFAULT CURRENT TIMESTAMP
);
CREATE SEQUENCE APP.S_LOG START WITH 200
 INCREMENT BY 20 NO MAXVALUE  NO CYCLE  CACHE 20;

ソースコード:
>Log j1 = new Log();
>j1.setMessage("TEST 1 LOG");
>ctx.registerNewObject(j1);
>
>Log j2=(Log)ctx.createAndRegisterNewObject(Log.class);
>j2.setMessage("Test2 register and new");

結果:
>INFO QueryLogger: +++ Connecting: SUCCESS.
>INFO QueryLogger: Detected and installed adapter: org.objectstyle.cayenne.dba.db2.DB2Adapter
>INFO QueryLogger: SELECT NEXTVAL FOR APP.S_LOG FROM SYSIBM.SYSDUMMY1
>INFO QueryLogger: --- transaction started.
>INFO QueryLogger: --- will run 1 query.
>INFO QueryLogger: INSERT INTO APP.LOG (LOGID, MESSAGE, TIMESTAMP) VALUES (?, ?, ?)
>INFO QueryLogger: [bind: 200, 'Test2 register and new', NULL]
>INFO QueryLogger: === updated 1 row.
>INFO QueryLogger: [bind: 201, 'TEST 1 LOG', NULL]
>INFO QueryLogger: === updated 1 row.
>INFO QueryLogger: +++ transaction committed.

DB2での結果:

LOGID       MESSAGE                        TIMESTAMP
        200 Test2 register and new         -
        201 TEST 1 LOG                     -

メモ:
  • この例ではIDが付く順が逆になっているが、その後テストした際は常に先にregister()したDataObjectから順にINSERTされた時もあった。順番は不定なのかもしれない
  • NULLのプロパティに対応する列には明示的にNULLがINSERTされるため、列定義でDEFAULTを列に付けていても機能しない
  • 一度NEXTVALでシーケンスの値を取り込んでいるが、二回目は取り込んでいない(一度NEXTVALを取ったら20回分は内部で作成するため。シーケンスも20刻みで定義されているので矛盾しない)
  • しかし一度アプリが終了すると、キャッシュしていた分だけ番号が飛ぶ事になる

Delete Objects

ソースコード:

SelectQuery s1 = new SelectQuery(Log.class);
List l1 = ctx.performQuery(s1);
//この時点では、l1はstate:commited
ctx.deleteObjects(l1);
//この時点では、l1はstare:deleted 
ctx.commitChanges();
//ここでトランザクション開始。DELETE文が実行される
//DELETE後はl1はstate:transientになる

実行されたSQL:

INFO  QueryLogger: DELETE FROM APP.LOG WHERE LOGID = ?
INFO  QueryLogger: [bind: 603]
INFO  QueryLogger: === updated 1 row.
INFO  QueryLogger: [bind: 600]
INFO  QueryLogger: === updated 1 row.
INFO  QueryLogger: [bind: 602]
INFO  QueryLogger: === updated 1 row.
INFO  QueryLogger: [bind: 601]
INFO  QueryLogger: === updated 1 row.
INFO  QueryLogger: +++ transaction committed.

メモ:
  • deleteObjects()に複数のObjectが入ったlistを渡すと、各Object毎にDELETEを実行した後にCOMMITする。一括でDELETEするわけではない
  • deleteObjects()に空のlistを与えても、commitChanges()でエラーは出ない。単に何も実行されないだけ@wikiへ
「Cayenne test」をウィキ内検索
LINE
シェア
Tweet
Unofficial DB2 Wiki
記事メニュー
メニュー
  • トップページ
  • 更新履歴

■ DB2
├ Unofficial DB2 blog
├ DB2逆引きwiki
├ Unofficial DB2 FAQ
└ Cayenne memo

■ Derby関連
├ Derby memo
└ Derby Console
記事メニュー2

更新履歴

取得中です。
最近更新されたページ
  • 4116日前

    メニュー
  • 4116日前

    Derby memo
  • 6427日前

    Cayenne test
  • 6735日前

    Cayenne memo
  • 6912日前

    derbyconsole
  • 7118日前

    トップページ
  • 7129日前

    更新履歴
もっと見る
最近更新されたページ
  • 4116日前

    メニュー
  • 4116日前

    Derby memo
  • 6427日前

    Cayenne test
  • 6735日前

    Cayenne memo
  • 6912日前

    derbyconsole
  • 7118日前

    トップページ
  • 7129日前

    更新履歴
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MadTown GTA (Beta) まとめウィキ
  2. AviUtl2のWiki
  3. R.E.P.O. 日本語解説Wiki
  4. シュガードール情報まとめウィキ
  5. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  6. ソードランページ @ 非公式wiki
  7. SYNDUALITY Echo of Ada 攻略 ウィキ
  8. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  9. ドラゴンボール Sparking! ZERO 攻略Wiki
  10. 星飼いの詩@ ウィキ
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. 検索してはいけない言葉 @ ウィキ
  6. 発車メロディーwiki
  7. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  8. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  9. オレカバトル アプリ版 @ ウィキ
  10. モンスター烈伝オレカバトル2@wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  3. 高崎線 - 発車メロディーwiki
  4. 鬼レンチャン(レベル順) - 鬼レンチャンWiki
  5. 暦 未羽 - ストグラ まとめ @ウィキ
  6. 召喚 - PATAPON(パタポン) wiki
  7. ステージ攻略 - パタポン2 ドンチャカ♪@うぃき
  8. 暦 いのん - ストグラ まとめ @ウィキ
  9. 鬼太郎誕生 ゲゲゲの謎 - アニヲタWiki(仮)
  10. ロスサントス警察 - ストグラ まとめ @ウィキ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.