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

Hideaki Numasawa [E-MAIL ADDRESS DELETED]
2011年 11月 9日 (水) 17:41:14 JST


numasawaです。

s2jdbc-gen-build.xml の <target name="gen-entity">  を実行した際のもので
Entity クラスは自作していません。

gen-entity にて作成されたEntityは確かに @Id public byte[] id; のような型になっています。

http://s2container.seasar.org/2.4/ja/s2jdbc_gen/tasks/gen_entity.html

の対応表を見るとサポートされていないとオカシイと思われます。


2011年11月9日17:25 Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]>:
> 中村(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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


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