[Seasar-user:17510] dbfluteのgenerateタスクにてIllegalStateException
ECS内田
[E-MAIL ADDRESS DELETED]
2009年 5月 25日 (月) 16:08:22 JST
内田と申します。
dbflute-0.9.4.1を使用しております。
以下の2テーブルを用意し、
generateタスクを実行したところ
IllegalStateExceptionが発生してしまいます。
テーブル設計に問題があるのでしょうか。。。
何か解決の手立てはございますでしょうか?
よろしくお願いいたします。
CREATE TABLE `sample1`.`group` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` text CHARACTER SET latin1 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
CREATE TABLE `sample1`.`users` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`user_name` varchar(255) CHARACTER SET latin1 NOT NULL,
`passwd` varchar(255) CHARACTER SET latin1 NOT NULL,
`group_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `FK_users_1` (`group_id`),
CONSTRAINT `FK_users_1` FOREIGN KEY (`group_id`) REFERENCES `group` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;
dbflute.logの抜粋--------------------------------------------
Failed to execute DBFlute Task 'JDBC'!
[Basic Properties]
database = mysql
language = java
container = seasar
[Database Properties]
driver = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/sample1
schema =
user = root
[Runtime Exception]
exception class = class java.lang.IllegalStateException
* * * * * * * * * */
java.lang.IllegalStateException: The handling for AutoIncrement threw the SQLException: primaryKeyColumnName=id tableMetaInfo=group(TABLE): ignoredMessage=You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group where 1 = 0' at line 1
at org.seasar.dbflute.helper.jdbc.metadata.DfAutoIncrementHandler.isAutoIncrementColumn(DfAutoIncrementHandler.java:76)
at org.apache.torque.task.TorqueJDBCTransformTask.isAutoIncrementColumn(TorqueJDBCTransformTask.java:728)
at org.apache.torque.task.TorqueJDBCTransformTask.generateXML(TorqueJDBCTransformTask.java:334)
at org.apache.torque.task.TorqueJDBCTransformTask.doExecute(TorqueJDBCTransformTask.java:184)
at org.seasar.dbflute.task.bs.DfAbstractTask.execute(DfAbstractTask.java:83)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
at org.apache.tools.ant.Main.runBuild(Main.java:698)
at org.apache.tools.ant.Main.startAnt(Main.java:199)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group where 1 = 0' at line 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3170)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3099)
at com.mysql.jdbc.Statement.executeQuery(Statement.java:1169)
at org.seasar.dbflute.helper.jdbc.metadata.DfAutoIncrementHandler.isAutoIncrementColumn(DfAutoIncrementHandler.java:49)
... 20 more
2009-05-25 15:56:59,828 [main] INFO (DfAbstractTask#execute():130) -
Seasar-user メーリングリストの案内