[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 メーリングリストの案内