[Seasar-user:16943] [S2JDBC]チュートリアルをmysql対応にする方法について

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2009年 2月 18日 (水) 18:42:50 JST


はじめまして。toriと申します。

下記組み合わせで、簡単なシステム開発を試みています。

blazeds-turnkey-4.0.0.4928
BlazeDS ver1.0
Seasar2 ver2.4
S2 BlazeDS ver1.0
JDK 1.6
MySQL 5.0

JDBCManagerの動作がうまくいかないので、S2JDBCの
チュートリアルを使って見ているのですが、
ユニットテストがうまく動作しません。

チュートリアルはhsql用だったので、mysql用に、
・create.sqlを参考にmysqlにDB作成
・s2jdbc.diconのdialectをmysqlに変更
・jdbc.diconの設定をmysql用に変更
をしました。

/src/test/java/examples 以下のユニットテストを
実行したた所、
GetCountTest.java
SqlGetSingleResultTest.java
以外は下記のようなエラーが発生します。

org.seasar.framework.exception.SQLRuntimeException: [ESSR0072]SQLで例外(SQL=[], Message=[Invalid value for getInt() - 'SALESMAN'], ErrorCode=0, SQLState=S1009)が発生しました
    at org.seasar.extension.jdbc.query.AbstractQuery.handleResultSet(AbstractQuery.java:450)
    at org.seasar.extension.jdbc.query.AbstractSelect$6.handle(AbstractSelect.java:429)

<以下略>

GetCountTestではデータ件数を取得できているので、DBへの接続は
できているのではと思うのですが、上記エラーの原因がわかりません。
設定漏れか作成したDBの間違いか・・・くらいが怪しいとは思うのです
が、sqlは下記のものを使いました。DBに詳しくないので、少々心配ではあります。

create table department (
id int,
name varchar(255) not null,
version int not null,
    primary key(id));

create table address (
id int,
name varchar(255) not null,
version int not null,
primary key(id));

create table employee (
id int,
name varchar(255) not null,
job_type varchar(30) not null,
salary int,
department_id int,
address_id int,
version int not null,
constraint EMPLOYEE_FK1 FOREIGN KEY(DEPARTMENT_ID) REFERENCES DEPARTMENT(ID),
constraint EMPLOYEE_FK2 FOREIGN KEY(ADDRESS_ID) REFERENCES ADDRESS(ID),
primary key(id));

おそらく非常に基本的な事が抜けているのではと思うのですが、いろいろ調べて
も原因に行き当らず質問させていただきました。
何かお気づきの点がありましたらご教授いただけると助かります。
初質問で、情報不足な点などもあるかと思いますので、ご指摘いただければ
と思います。

どうぞよろしくお願いします。

tori


Seasar-user メーリングリストの案内