[Seasar-user:21131] Re: [s2jdbc-gen] 同一テーブル上でリレーションされる場合に例外となる。

Toshihiro Nakamura [E-MAIL ADDRESS DELETED]
2011年 11月 9日 (水) 17:25:47 JST


中村(taedium)です。

例外は、次のように@Idを不正なプロパティ型に
注釈しているために発生しているのだと思われます。

  @Id
  public Hoge id;

この例ではHoge型が不正です。

gen-entitytestタスクは、@Idの注釈対象のプロパティ型として
次の型のみをサポートしています。
・boolean
・char
・byte
・short
・int
・long
・float
・double
・Boolean
・Character
・Byte
・Short
・Integer
・Long
・Float
・Double
・java.lang.String
・java.math.BigDecimal
・java.math.BigInteger
・java.util.Date
・java.util.Calendar
・java.sql.Date
・java.sql.Time
・java.sql.Timestamp

> numasawaです。
> 
> s2jdbc-gen にて同一テーブル上でリレーションされているテーブルが存在する場合
> gen-entitytestタスクで以下の例外が発生します。
> 
> gen-entitytestタスクを実行しなければ正常に終了します。
> 
> s2jdbc-gen-build.xml はDolteng にて自動生成したもの。
> 
> 環境
> windows XP sp3
> java    6.0
> Eclipse 3.7
> dolteng 0.41
> 
> 以上よろしくお願いします。
> 
> ----------- 以下スタック
> --------------------------------------------------------------
> [gen-entitytest] Java Result: 1
> 
> BUILD FAILED
> C:\skyp\kouji\model-s2jdbc\s2jdbc-gen-build.xml:96: Exception in
> thread "main" org.seasar.extension.jdbc.gen.exception.CommandFailedRuntimeException:
> [ES2JDBCGen0005]コマンド(org.seasar.extension.jdbc.gen.internal.command.GenerateEntityTestCommand)の実行に失敗しました。バージョンは
> S2JDBC-Gen 2.4.43 です。理由はjava.lang.IllegalArgumentException:
> propertyClass
> 	at org.seasar.extension.jdbc.gen.internal.command.AbstractCommand.execute(AbstractCommand.java:164)
> 	at org.seasar.extension.jdbc.gen.internal.command.CommandInvokerImpl.invoke(CommandInvokerImpl.java:29)
> 	at org.seasar.extension.jdbc.gen.command.CommandAdapter.main(CommandAdapter.java:61)
> Caused by: java.lang.IllegalArgumentException: propertyClass
> 	at org.seasar.extension.jdbc.gen.internal.model.EntityTestModelFactoryImpl.getExpression(EntityTestModelFactoryImpl.java:205)
> 	at org.seasar.extension.jdbc.gen.internal.model.EntityTestModelFactoryImpl.doIdValue(EntityTestModelFactoryImpl.java:142)
> 	at org.seasar.extension.jdbc.gen.internal.model.EntityTestModelFactoryImpl.getEntityTestModel(EntityTestModelFactoryImpl.java:122)
> 	at org.seasar.extension.jdbc.gen.internal.command.GenerateEntityTestCommand.generateTest(GenerateEntityTestCommand.java:454)
> 	at org.seasar.extension.jdbc.gen.internal.command.GenerateEntityTestCommand.doExecute(GenerateEntityTestCommand.java:439)
> 	at org.seasar.extension.jdbc.gen.internal.command.AbstractCommand.execute(AbstractCommand.java:162)
> 	... 2 more
> 
> Total time: 27 seconds
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user

-- 
Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]>



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