2006-02-01から1ヶ月間の記事一覧

Solaris8+J2SE1.4.2+Ant1.5.1+Torque3.1を使用し、 Solaris上でtorque generatorを使用したところ、 org.apache.torque.engine.EngineException: org.xml.sax.SAXParseException: 属性の前に空白が必要です。 解決策: schema.xmlをUTF-8で保存している場合…

torqueで、WHERE XXX IS NULLを行う。Criteria criteria=new Criteria(); criteria.add(Peer.COLUMN_NAME,(Object)"",Criteria.ISNULL); List result=Peer.doSelect(criteria);IS NULLをやるのに、二番目の引数をダミーで作らないといけないらしい。

torque generatorで、schema.xmlの定義にmysqlのDATETIMEを設定して自動生成を行うと、NullPointerExceptionが発生原因: 自動生成用のmysqlの定義ファイルのミスと思われる。 怪しい箇所:${torque.templatePath}/sql/base/mysql/db.props回避策: 時間が無…

つかったプラグインなど。 StepCounter http://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi?page=StepCounter ・ステップ数を数えるクラスを作らなくても、クリック一発。楽。

TIMESTAMP型はデータをセットしても、勝手に更新日時になってしまう。 日付を挿入するときはDATETIME型。 最終更新日を挿入するときはTIMESTAMP型。 ...分かりづらい。

ServletContext#getRequestDispatcher().forward()を実行すると、JasperExceptionが発生。 ※try-catchがforwardの例外をcatchしているように見える。見る場所:forward先のJSPやJavaによる例外をcatchしているので、forwardする先のソースを検証する。

使用していていると、妙なログが出て、白いページしか出なくなる。 WebappClassLoader: Lifecycle error : CL stopped と java.lang.NoClassDefFoundError: javax/servlet/jsp/JspException回答:TomcatとApacheをとめて、CATALINA_HOME/work/(省略)/AppName…

startupすると、妙なログが出る。 jar not loaded. See Servlet Spec 2.3, section 9.7.2.回答:libの中にj2ee.jarとかservlet.jarがあったらこれを読み込んだために出た情報。 仕様上、java.*なクラスを別libで再読み込みはできないらしい。 http://nagoya.…

Postgresqlのサーバにクライアント(JDBC等)から繋ぐ方法(適用サーバは開発系のみとする) ○pgsqlのdataディレクトリ(/usr/local/pgsql/dataなど)の設定を変更する。1.pg_hba.confにレコードを追加 host all all クライアントPCのIPアドレス サブネットマス…

Mysqlのサーバにクライアント(JDBC等)から繋ぐ方法(適用サーバは開発系のみとする) ○mysqlのユーザに登録する。 1.mysql -uroot -p mysqlでログイン 2.grant all on DB名.* to DBユーザ名@クライアントマシンのIPアドレス identified by "password"; 3.flu…

つかったプラグインなど。Tomcat Plugin http://www.sysdeo.com/eclipse/tomcatplugin ・直接Tomcatを設定するのが面倒な場合に。 個人的には直が好き。JSP Editor Plugin http://www.myeclipseide.com/ContentExpress-display-ceid-52.html ・JSPを編集する…

ビルドすると、classesと同じ位置に配置しているプロパティファイルがなくなってしまう。コンパイルするソースのルートdir(src/com/...だったらsrc)にもプロパティファイルを設置する。 これがビルド時に自動でコピーされる。

Torqueの憎い部分 自動生成時にデータベース名も一緒に入れてしまう。 開発系・テスト系・本番系とかでDBを分けたい場合、それごとに自動生成が必要。 ...何度泣かされたことか;;

複数のActionで同じActionFormを使用する場合、struts-config.xmlに正しく記述しても、Mappingが無いといわれてしまう。解決策:ActionFormのクラスは一つでも、ActionFormの名前を分ける。 <form-beans> <form-bean name="hoge1" type="hoge.FooActionForm" /> <form-bean name="hoge2" type="hoge.FooActionForm" /></form-bean></form-bean></form-beans>

BaseObject#save()やBasePeer#doInsert/doUpdateでカラムが存在しない例外 schema.xmlを確認。 カラム名に空白が入っていないことを確認する。 <table name="TBL" idMethod="null"> <column name="column1 " required="true" primaryKey="true" type="CHAR" size="20" />↓ <table name="TBL" idMethod="null"> </table></column></table>

自動生成したソースでPeer.doInsertやsave()を行うと、ID_TABLE doesn't existが発生。原因:Torqueが作成するID管理テーブルが存在しないため。 対応:ID管理テーブルを使用せず、主キーを手で作成する場合は、ID_TABLEを使用しないように設定します。 自動…