2007-01-01から1年間の記事一覧

S2Hibernate-JPA 1.0.1 リリース

S2Hibernate-JPA 1.0.1 をリリースしました! 変更点 S2Hibernate-JPA 1.0.1-rc1 からの変更点は次のとおりです。 Seasar2.4.19 および Kuina-Dao 1.0.1 に対応しました。 ダウンロード http://s2hibernate.seasar.org/ja/ Maven2からの利用 http://www.seas…

JPQLのdistinct

気になったのでちょっと調査。部署(Department)と従業員(Employee)のエンティティが多対1のときで考えてみます。 JPQLでdistinctつけてDepartmentからEmployeeをfetch joinします。 JPQL List<Department> list = entityManager .createQuery( "select distinct d from D</department>…

ResultSetの更新とバッチ更新の比較

10000件を取得するSELECTのResultSetを ResultSet#updateRow() で1件ずつ更新していく場合と10000件を取得するSELECTのResultSetをグルグルまわしながら100件ずつ PreparedStatement#executeBatch() で更新する場合を比較しました。結果は PreparedStatement…

JDBCの更新可能なResultSetを試す

主なDBで更新可能なResultSetを使えるか試してみました。 試したコードを抜粋するとこんなかんじ。 String sql = "select employee_name, employee_id from Employee"; PreparedStatement ps = con.prepareStatement( sql, ResultSet.TYPE_FORWARD_ONLY, Res…

Hibernateの商用版バイナリ

JBoss COMPASS Tokyo 2007に行ってきたんですが、面白いこと聞きました。 HibernateにはOSSのコミュニティ版とは別に商用版があって、バイナリが異なるらしいです。商用版バイナリって機能的にどうちがうんですかねぇ。とっても気になります。

S2JDBCでHibernateのiterate()相当の処理

S2Jdbc で1件ずつフェッチできれば、それで決定なのになぁ。 大量データを検索して処理したい時に、ListだとOutOfMemoryErrorが発生させてしまう場合がある。1行づつデータを取ってくるIteratorもほしい気がする。例えばこんな感じ。 S2JDBCでHibernateのite…

ストアドプロシージャで複数ResultSetを取得

S2JDBCで地味に便利なのがストアド周りです。たとえば、Oracleで3つのカーソルを返すストアドプロシージャを用意します。 create or replace PROCEDURE PROC ( cur1 OUT SYS_REFCURSOR, cur2 OUT SYS_REFCURSOR, cur3 OUT SYS_REFCURSOR ) AS BEGIN OPEN cur…

Queryのiterate()とscroll()

なんかよくわかっていなかったので、試してみた。 iterate() テストコード public void testIterator() throws Exception { Session session = getSession(); Iterator<Employee> iterator = session.createQuery("from Employee e where e.id < 3").iterate(); try { </employee>…

S2Dao 1.0.47 リリース

S2Dao 1.0.47 をリリースしました! 変更点 1.0.47-RC1 からの変更点は次の通りです。 Improvement DAO-122 - Daoの検索系メソッドの戻り値としてプリミティブ型の配列やプリミティブ型のラッパー型を要素とするListを定義できるようにしました。 DAO-123 - …

S2Dao 1.0.47の新機能について、ドキュメントへのピンポイントな参照

それぞれ、下のリンクがS2Dao-Tigerを使った場合の説明になっています。 DAO-125の説明 SQL_FILEアノテーション http://s2dao.seasar.org/ja/s2dao.html#SqlFileAnnotation http://s2dao.seasar.org/ja/s2dao-tiger.html#SqlFileAnnotation DAO-126の説明 CH…

Seasar Conference 2007 Autumn 後夜

昨日はSeasar Conferenceでした。多くの方にご来場いただきました。どうもありがとうございました。よろしければアンケートにご協力ください。俺はこういうセッションが聞きたいんだ!的なことを書くと次回のカンファレンスで意外とあっさり実現するかも? h…

Seasar Conference 2007 Autumn 前夜

明日はSeasar Conferenceです。 http://event.seasarfoundation.org/sc2007autumn/ JPA & Kuina-Dao入門というタイトルでお話します。資料を公開しましたのでこられる方もこられない方もよかったら読んでみて下さい。 http://event.seasarfoundation.org/sc2…

S2Dao 1.0.47-RC1 リリース

移行の注意点 S2Dao 1.0.47-RC1 は Seasar2.3.22(または Seasar2.4.17)以前との組み合わせでは動作しません。S2Dao 1.0.47-RC1 は Seasar2.3.23-rc1(または Seasar2.4.18-rc1)以降との組み合わせでご利用ください。 同梱する s2-framework のバージョン…

Windows AWEメモリ拡張

http://www-06.ibm.com/jp/domino01/mkt/dminfo.nsf/doc/002BB6D6DB2で利用するための説明だけどMSのサイトの説明よりわかりやすかったり。

Oracle 10g の Express Editionで断続的に ORA-12519 が発生するバグ。

http://forums.oracle.com/forums/thread.jspa?messageID=1252551パラメータを変更すればいいみたい。

Ruby on Railsのセミナに行ってきた

Railsのことをあまりに知らないのでどうしたものかなぁ思っていたところセミナあるということで行ってきました。 最初の1時間はRubyの文法を中心とした話、後半の1時間はRailsの話で計2時間、ためになりました。2時間も無料で話を聞かせてくれるなんてありが…

S2JUnit4のアサートメソッド

http://d.hatena.ne.jp/beerman-fukui/20070907でS2JUnit4で用意したアサートメソッドに言及されていますが、これはジェネリクスの使い方が良くなかったかも。。。 public static void assertMapEquals(String message, DataSet expected, List<Map<?, ?>> list) publi</map<?,>…

Oralceのストアド経由でResultSetをうける方法

OUTパラメータとして登録してCallableStatement#getValue()すれば取得できます。 本当はCallableStatement#getResultSet()で返ってきてほしいのですけど。。。なんか、BEAのドライバ(BEA WebLogic Type 4 JDBC Oracle ドライバ)を使うと、CallableStatemen…

Spring Batch のちょっと怪しげなコード

なぜThread.sleep()を使わないのか? org.springframework.batch.retry.backoff.FixedBackOffPolicy /** * Pause for the {@link #backOffPeriod} using {@link Thread#sleep}. * @throws BackOffInterruptedException if interrupted during sleep. */ prot…

S2Dao 1.0.46 リリース

S2Dao 1.0.46を使用するには、Seasar2.4.17ないし2.3.22以降が必要であることに注意してください。[DAO-113]に関連してS2Pagerに新しい設定方法が追加されています。(1.0.44以前の方法も引き続き利用可能です。) 詳しくはドキュメントを参照ください。http…

S2Dao1.0.45のダウンロード数

ないと思っていたんですが、甘かったですね。 1日でKuina-Daoのひと月分のダウンロード数超えてました...

1.0.45 リリース

S2Dao 1.0.45をリリースしました。 Bug [DAO-33] - Dao の初期化と Connection の取得との間でデッドロックが発生する問題を解消しました。 [DAO-104] - プロシージャー取得時に、DatabaseMetaDataUtil#convertIdentifierを経由したプロシジャー名でプロシジ…

Apache Cayenne 3系初のマイルストーン登場 - 新たにJPAに対応

JPA

http://journal.mycom.co.jp/news/2007/07/30/003/index.htmlCayenne 3が出たみたい。Kuina-Daoで対応しないと!

Oracle10gのType2ドライバを使ってEclipseからDBにアクセスする方法

Type4でしか動かしたことなかったら苦戦しました...ここにメモしておきます。 EclipseはWindowsで実行します。 JDBCドライバ Type2とType4で異なるjarというわけではなく同じjarでいけます。使ったのはojdbc14.jarです。 Oracleクライアント Type2を使う…

CONTAINER-66のコメント

CONTAINER-66にコメントしているAnonymousは実は私です。 JIRAにログインせずコメントしてしまったようでなんか他人の振りしているかのようになっちゃいました。すみません。

昨日のエントリ

はてなスターでプレッシャーかけられている(^^;

はてなグラフ

執筆中の原稿のページ数をはてなグラフで表示。ちょっと自分にプレッシャーをかけてみる。

Compare Eclipse Packagesのページ

3.3のパッケージの比較をしているページがありました。これは違いが一目瞭然。 http://www.eclipse.org/downloads/moreinfo/compare.phpClassicはソースコードがついてるから容量が大きいのですね。

JPAとADO.NET Entity Framework

JPA

.NET Framework 3.5でADO.NETにEntity Frameworkという新しい機能が導入されるそうです。これは何かというと一言でいえばO/Rマッピングフレームワークなのですが、面白いのはJPAによく似ているということです。日本語での解説記事 http://msdn.microsoft.com…

JPAとデータベース設計

JPA

昨日に引き続きJPAの宣伝?です。JPAってデータベース設計に興味があるんだけどなかなか実際に設計する機会に恵まれないといった人にとって結構いい教材なんじゃないかなぁと思います。HibernateはエンティティクラスからDDLを生成する機能をもっているので…