(注:このブログはもう更新していません)この日記は私的なものであり所属会社の見解とは無関係です。 GitHub: takahashikzn

[クラウド帳票エンジンDocurain]

2009-07-01から1ヶ月間の記事一覧

TortoiseSVN1.6とSVNKit1.2の共存

通常の開発においては、Subversionなどのバージョン管理ツールを使用して成果物を管理すると思います。 ソースコード然り、設計書然り、等々。 ソースコードの管理はEclipseのSubversionクライアントで、設計書等の管理はWindowsのシェルに統合できるSubvers…

『OracleのIN句の引数は1000個まで』問題

Oracleには、IN句の引数が1000個までという制限(※)があります。(※) Oracleのアーキテクチャ上、IN句の最適化が難しいためにわざと設けた制限であると、どこかで読んだ気が。 JPQLにもIN句があるので、 『OracleでJPAを使用した場合は同様の制限があるのかも…

Eclipse上のsubversionクライアントでchecksum mismatchエラー

ちょっとしたtip。Eclipse上のSubversionクライアントでファイルを更新するとき、たまに"checksum mismatch"というエラーを吐いて先に進めなくなる時があります。そういう時は次のようにするとよいです。 エクスプローラーなどで、Eclipseの外から当該ファイ…

IvyDE 2.0.0-RELEASE

いつの間にかIvyDE 2.0.0がリリースされていた。 IvyDE-2.0.0-betaには、jarファイルに対応するソースコードを自動ダウンロード&アタッチしてくれないという、デバッグ時に大変困るバグ(※)があったのだが、解消された模様。よかったよかった。(※) ちなみにI…

requestスコープとcomponent-scanの併用

弊社のプロダクトであるR42フレームワークでは、Spring2.5で追加された機能であるを使用することで、特定のクラスを自動的にコンポーネントとしてBeanリポジトリに取り込んでいます。これにより、開発者がApplicationContext.xmlを一切書く必要がない開発を…

MySQL-5.4

MySQL-5.4が出てました。5.4って、「機能追加はしてないけど中身はだいぶ改善したよ」と主張したいのがよくわかる番号だと、僕は思います。 5.5未満なのがポイント、というか。例えば、 Firefox 3.4 Firefox 3.5 で比較してみると、3.5は四捨五入したら4にな…

帰宅しました この3日間の行動記録。 7/10 赤ワインをボトル一本空けて記憶を飛ばす 7/11 白ワインをボトル一本空けて記憶を飛ばす(しかも披露宴パーティーの最中に) 7/12 バーボンを飲んでほろ酔い中(←いまここ) …明日から仕事がんばろう。うん。

今日から日曜まで帰省 従兄弟の結婚式に参列するため帰省します。その間はちょっと更新できないかも。 え、携帯でやれ? ゆ、ゆびがつる…

生成された主キーを取得する

JPA

JPAを使ってエンティティをINSERTし、更にINSERTしたエンティティの主キーを取得する必要があったとします。 例えば次のようなコードを考えてみます。 @Entity public class Foo { // AUTO INCREMENTなカラムIDを主キーとしている @Id @GeneratedValue(strat…

Struts2で継続(Continuation)

XWorkのActionSupportクラスのJavadocを見ていたら発見してしまったのです。 継続をサポートしているということを。 どのように実装しているか大変興味を持ったので、早速ソースを見てみると、 /** * * Stops the action invocation immediately (by throwi…

EclipseLinkで悲観ロック

次のようにします。 import org.eclipse.persistence.config.*; public class JPADialect { ... public void setPessimisticLock(final Query query, final boolean nowait) { if (nowait) { query.setHint(QueryHints.PESSIMISTIC_LOCK, PessimisticLock.Lo…

EclipseLink固有APIを使って、DELETE文を優先させる

ひとつ前のエントリでも説明したのですが、JPAのデフォルトではDMLの実行はコミット時に行われます。 それはJPA仕様ということで理解できるのですが、 タチの悪いことに、DML文の実行順序はEntityManagerの更新系メソッドの呼び出し順序と一致しないことがあ…

Spring or Seasar ?

某巨大掲示板のSeasarスレでSpringとの比較が議論されていた。 全部読んだわけではないけど、僕の理解をまとめると 日本語限定なら情報量はSeasarのほうが多い。英語も含めるならSpringのほうがもっと多い Springは、(中〜大規模開発を見据えた)オレオレフレ…

Query#getResultListでConcurrentModificationException?

EclipseLink(1.1.2)が良く分からないエラーを吐く。何でConcurrentModificationExceptionになるんだろう。 java.util.ConcurrentModificationException java.util.IdentityHashMap$IdentityHashMapIterator.nextIndex(IdentityHashMap.java:715) java.util.I…

依存先プロジェクトのクラスを再デプロイする

6/25の日記で、Eclipseのプロジェクト依存関係を設定する方法を紹介しました。 今日はそれに関連した小ネタを一つ。 例えば、r42fw_sampleというプロジェクトがr42fwというプロジェクトに依存しているとき、 r42fwを修正しても、修正済みクラスは/WEB-INF/cl…

OGNL式で存在しないプロパティへアクセス

先程まで、OGNL式の謎の例外に悩まされていたのですが、 Caused by: java.lang.NullPointerException at com.opensymphony.xwork2.ognl.OgnlValueStack.checkForInvalidProperties(OgnlValueStack.java:298) at com.opensymphony.xwork2.ognl.OgnlValueStack…

struts-2.1.6とxwork-2.1.4

現行最新版のStruts2はstruts-2.1.6であり、それに対応するXWorkはxwork-2.1.2です。 でも、XWorkの最新版は2.1.4です。そこで、XWorkを入れ替えて最新にしてみました。すると… Caused by: java.lang.NoClassDefFoundError: com/opensymphony/xwork2/util/Te…

パク森

今日は渋谷のパク森というところで晩ご飯を食べました。 18:30入店時点で他のお客さんはおらず。 食べログでの評価が芳しくなかったから、ちょっと心配していたけど…味については思ったよりはヒドくはなく、 普通のカレー屋さんかな。ホントにフツー。パク森…

じゃんがららあめん

今日はじゃんがららあめん(もちろん"九州〜"の方)を食べに行ってきます。じゃんがらとの付き合いは長くて、僕が就職で東京に来て以来、ずっと通ってます。 これまでの累計で、100回以上は食べたと思う。 昔は、替え玉を食べ終わってからゴハンをぶち込んで食…

r42utils-0.1.1リリース

r42utils-0.1.1をリリースしました。変更点は次の通りです。 [バグフィックス] r42fw-tags.tldにforeachタグ設定がなかったので追加した。 [機能追加] local-urlタグを追加した。 [その他] 若干のリファクタリングを施した。 よろしくお願いします。

更新系ユースケースにおけるフィールド初期値の復元

確認画面付きの更新系のユースケースにおいては、入力画面を表示するときに最初に一度だけ初期値を復元する必要があります。このとき、入力フィールドに初期値を表示するために(#initialValueOfHogeはどこかから持ってきた値とする) <s:textfield name="hoge" value="#initialValueOfHoge" /> と書いてしまうとダメで</s:textfield>…

sourceforge.netのUIがガガ。

昨日、プロジェクトを登録してみたのだけど、今日見てみるといつの間にかUIが大幅に変更されている。 ただでさえ使い勝手が悪かった(私感)のに、さらにワケワカメ状態へGO! orz まあ、そのうち慣れるとは思うけど…しかし困ったことに、なんとプロジェクトト…

iteratorタグの落とし穴

Struts2のタグは、リストをforeachループでまわしてそれぞれの要素を操作する場合に使用するタグです。 ごく簡単なWebアプリケーションを作成する場合ですら、必須のタグであると言って良いです。たぶん。 しかしながら、にはある落とし穴が存在します。 落…